Drupal 7:Pathauto等级分类术语模式

时间:2011-11-29 13:29:33

标签: drupal-7 design-patterns hierarchy taxonomy

根据以下方案,我有一个Drupal 7.9分类词汇表:

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

我想在我的页面网址路径中反映这种分类法层次结构,如

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

为了达到这个目的,我使用模块Pathauto版本7.x-1.0。但我不知道 我必须使用哪种模式。

目前我正在使用[node:%field_taxonomy%]/[node:title],但使用此模式的网址路径仅为subcategory-1-1/page-123,因此不会反映完整的层次结构。 是否存在分类树模式?我找不到任何关于此的更新信息,并且每个版本的Pathauto中的有效模式似乎都会发生变化。

4 个答案:

答案 0 :(得分:9)

经过一些试验和错误后,我提出了一种方法,在使用分类术语创建自定义URL路径时对我有用。您需要做的就是安装一个名为Entity API的附加模块。你可以在http://drupal.org/project/entity找到它。安装后,您应该启用Entity API和Entity令牌模块。实体令牌为所有没有令牌且已为实体API所知的属性提供令牌替换。

首先,去创建一个新的分类词汇表。我们称之为“类别”并添加一些术语。然后,对于您希望拥有自定义URL路径的内容类型,您需要创建新的术语引用字段。我不知道为什么,但它没有使用标准的field_tags。所以,一定要创建一个新的。我们也称它为类别,并使用我们以前创建的词汇“类别”作为源。这是你需要考虑的另一件事:你必须用一个小写字母标记这个字段;否则它不适用于我不知道的原因;)。你最终会得到一个field_category字段。

转到网址别名管理页面 - >模式。展开内容路径的替换模式 - >展开节点 - >你会看到底部的类别,展开它。好的,现在您已准备好使用分类术语令牌。

使用[node:field-category:name] / [node:title]之类的东西,其中[node:field-category:name]是分类术语的名称,你将拥有像mysite.com/这样的路径术语/标题。

顺便说一句,我使用Pathauto 7.x-1.0-beta1,Token 7.x-1.0-beta2和Entity API 7.x-1.0-beta8。

祝你好运! ))

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

您可以使用此模式创建网址: [节点:场类:词汇:名称] / [节点:场类:父母:加入:/] / [节点:场类:名称] / [节点:标题]

答案 1 :(得分:2)

在您的特定情况下,您可以使用以下模式进行分类项目:

[术语:词汇:名称] / [术语:父:父] / [术语:父] / [术语:名称]

对于节点模式:

[节点:%field_taxonomy%:URL:路径] / [节点:标题]

在这种情况下,有一个下行的术语模式将处理多达三个级别。所以你不能用这种方法使它无限制。 (我相信你可以添加术语:parent:parent:...尽可能多的地方。)

虽然它会处理不到3级的罚款(只是经过测试才能确定)。

答案 2 :(得分:0)

据我所知,基本的Drupal + Token + PathAuto无法像你想要的那样创建路径。

答案 3 :(得分:0)

检查我的回答here。您可以使用分类实体索引模块来实现此类行为。