Pathauto的菜单路径

时间:2011-01-13 18:14:44

标签: drupal drupal-7 pathauto url-design

如何在Drupal 7下获得pathauto以通过完整菜单路径生成URL别名?

10 个答案:

答案 0 :(得分:43)

只是更新以防任何人遇到更新版本的Pathauto / Token。这对我有用:

[节点:菜单链接:父母:加入径] / [节点:菜单链接]

答案 1 :(得分:9)

我最终使用了:

<强> [node:menu-link:parent:url:path]/[node:menu-link]

但请注意:如果节点没有菜单链接,您最终将没有自动别名页面。从好的方面来说,这可能会让您了解孤儿页面。 (考虑一下这个功能!)

请注意使用模式:

[node:menu-link:url:path]/[node:menu-link]

只会提供节点的菜单链接,而不是的链接(引用父路径所需的链接)。

或者模式: [node:parent:url:path]/[node:menu-link]

在我的Drupal 7实例中抛出一个关于无效令牌的错误(即使我安装了令牌模块)。

答案 2 :(得分:8)

[node:menu-link:parent:url:path]/[node:title]

如果节点不在菜单中,则它不会创建别名。否则这似乎适用于n层菜单。

答案 3 :(得分:5)

我认为现在必须是这种模式:

[node:menu-link:url:path]/[node:menu-link]

“path”而不是“alias”

答案 4 :(得分:2)

你也需要安装contrib Token module - 尽管Token的许多功能都是D7核心的一部分,一些边缘情况令牌(如给定的完整菜单路径)节点不是由核心自动提供的。

安装完成后,我相信[node:menu-link:parent]或[node:menu-link:parent:url]应该可以正常工作。

答案 5 :(得分:2)

适用于我的模式如下:

[node:menu-link:parent:url:alias]/[node:menu-link]

我也像Eaten建议的那样安装了Token模块。不知道[node:menu-link:parent:url:alias]是否属于核心部分或生活在contrib中。

答案 6 :(得分:1)

如果您尝试为第3级或更深级别的网页制作别名,例如:

Home page
 > Level 1 page
   > Level 2 page
     > Level 3 page

并且您希望Level 3页面的别名看起来像http://domain.com/level-1/level-2/level-3,我通过将我的模式设置为以下来让它为我工作:

[node:menu-link:parent:parent:parent:title]/[node:menu-link:parent:parent:title]/[node:menu-link:parent:title]/[node:title]

请注意,我在令牌中添加了:parent,对于第一个我添加了两次。

答案 7 :(得分:0)

享受!

  

[节点:菜单链接:父母:加入径] / [节点:标题] html的

答案 8 :(得分:0)

这是我使用的解决方案:

[node:menu-link:parents:join:/]/[node:menu-link]

它将使用短划线分隔父菜单项。这就是我需要的。

答案 9 :(得分:0)

对于任何偶然发现这个答案的人,并想知道如何添加这个:

配置&gt;搜索和元数据&gt; URL别名,然后在“Patterns”选项卡下创建。