2011-11-29 94 views
5

我必須按照以下方案一個Drupal 7.9分類詞彙表:的Drupal 7:Pathauto分級分類術語模式

category-1 
    category-1 > subcategory-1-1 
    category-1 > subcategory-1-2 
    category-1 > subcategory-1-3 
category-2 
    category-2 > subcategory-2-1 

我想反映在我的網頁的URL路徑這種分類的層次結構像

category-1/subcategory-1-1/page-123 

爲了達到這個目的,我使用moda Pathauto版本7.x-1.0。但我不知道 我必須使用哪種模式。

目前我使用的是[node:%field_taxonomy%]/[node:title],但使用此模式時,url路徑僅爲subcategory-1-1/page-123,因此不會反映完整的層次結構。 是否有分類樹模式?我無法找到任何有關此更新的信息,有效模式似乎在Pathauto的每個版本中都會發生變化。

回答

9

經過一些試驗和錯誤後,我想出了一種方法,在使用分類術語創建自定義URL路徑時對我來說非常有用。你所需要做的就是安裝一個稱爲實體API的附加模塊。你可以在這裏找到它http://drupal.org/project/entity。安裝後,您應啓用實體API和實體令牌模塊。實體令牌爲所有沒有令牌且實體API已知的屬性提供令牌替換。

首先,去創建一個新的分類詞彙。我們稱之爲「類別」並添加一些條款。然後,對於需要具有自定義網址路徑的內容類型,您需要創建一個新的術語參考字段。我不知道爲什麼,但它不適用於標準field_tags。所以,請確保創建一個新的。我們也稱之爲類別,並使用我們以前創建的詞彙「類別」作爲源。這裏還有一件事你需要考慮:你必須用小寫字母來標記這個字段;否則它不適用於我未知的原因;)。你最終會得到一個field_category字段。

轉到網址別名管理頁面 - >模式。展開內容路徑的替換模式 - >展開節點 - >您會在底部看到類別,展開它。好的,現在你已經準備好使用分類術語標記了。

使用像[node:field-category:name]/[node:title]其中[node:field-category:name]是分類術語的名稱,並且您將擁有一個類似mysite.com的路徑/學期/稱號。

順便說一句,我使用Pathauto 7.x-1。0-beta1,令牌7.x-1.0-beta2和實體API 7.x-1.0-beta8。

祝你好運! ))

http://drupal.org/node/1044980#comment-4562844

您可以使用此模式創建網址: [節點:現場類別:詞彙:名字]/[節點:領域類:父母:加入:/]/[節點:場-category:name]/[node:title]

+1

非常感謝您的詳細解決方案。我現在結束了'[node:field-category:parents:join:/]/[node:field-category:name]/[node:title]''。工作正常! –

0

據我所知,基本的Drupal + Token + PathAuto無法創建路徑,就像你想要的那樣。

[術語:詞彙:名字]/[術語:父:父]/[術語:父]/[項:姓名

+0

你是否知道其他模塊來解決這個問題? –

+0

實體API工作 –

2

在您的特定情況下,你可以使用分類學項目下面的模式走]

而且節點模式:

[節點:%field_taxonomy%:網址:路徑]/[節點:標題]

有缺點壽 - 長期格局將處理多達三個層次在這案件。所以你不能用這種方法使它無限。 (我相信你可以添加術語:父母:父母:......儘可能多的)。

雖然,它會處理LESS比3級罰款(只是測試確保)。

+1

謝謝帕維爾。但節點模式似乎不是有效的。 %field_taxonomy%沒有url標記(未在模式下列出) 測試模式:[node:field_category:url:path]/[node:title] Pathauto版本:7.x-1.0 令牌版本:7 .x-1.0-beta7 您使用哪個模塊版本? –

+0

這對我有用。希望有一個更聰明的令牌可以使用,但不必指定最大深度。 – Evans

+0

太棒了,我花了一個小時嘗試和錯誤。接近但沒有成功,然後我決定谷歌它,並找到了這個答案。 –

0

查看我的回答here。您可以使用分類實體索引模塊來實現此類行爲。