如何在Drupal 7下获得pathauto以通过完整菜单路径生成URL别名?
答案 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”选项卡下创建。