【问题标题】:Drupal 7: Pathauto hierarchical taxonomy terms patternDrupal 7:Pathauto 分层分类术语模式
【发布时间】:2011-11-29 13:29:33
【问题描述】:

根据以下方案,我有一个 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

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

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

为了实现这一点,我使用了模块 Pathauto 版本 7.x-1.0。但我不知道 我必须使用哪种模式。

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

【问题讨论】:

    标签: drupal-7 design-patterns hierarchy taxonomy


    【解决方案1】:

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

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

    转到 URL 别名管理页面 -> 模式。展开内容路径的替换模式 -> 展开节点 -> 你会在底部看到类别,展开它。好的,现在您可以使用分类术语标记了。

    使用 [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

    您可以使用以下模式创建 url: [node:field-category:vocabulary:name]/[node:field-category:parents:join:/]/[node:field-category:name]/[node:title]

    【讨论】:

    • 非常感谢您的详细解决方案。我现在以[node:field-category:parents:join:/]/[node:field-category:name]/[node:title] 结束。工作正常!
    【解决方案2】:

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

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

    对于节点模式:

    [node:%field_taxonomy%:url:path]/[node:title]

    在这种情况下,术语模式最多可以处理三个级别。所以你不能用这种方法让它无限。 (我相信您可以添加 term:parent:parent:... 任意数量)。

    虽然,它可以处理少于 3 个级别的罚款(只是测试以确保)。

    【讨论】:

    • 谢谢帕维尔。但是节点模式似乎无效。 %field_taxonomy% 没有 url 标记(模式下也没有列出) 测试模式:[node:field_category:url:path]/[node:title] Pathauto 版本:7.x-1.0 令牌版本:7.x-1.0 -beta7 你使用哪个模块版本?
    • 这对我有用。希望您可以使用更智能的令牌,而不必指定最大深度。
    • 太棒了,我花了一小时尝试错误。接近但没有成功,然后我决定用谷歌搜索并找到这个答案。
    【解决方案3】:

    据我所知,基本的 Drupal + Token + PathAuto 无法像您希望的那样创建路径。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多