菜单的路径在Pathauto
-
11-10-2019 - |
题
我怎么pathauto下推7产生一个网址别名通过全部菜单上的路径?
解决方案
只是一个更新,以防任何人都遇到了Pathauto/Token的最新版本。这对我有用:
节点:菜单 - 链接:父母:join-path]/[节点:菜单 - 链接
其他提示
我结束了使用:
[node:menu-link:parent:url:path]/[node:menu-link]
重注意:如果节点没有一个菜单的链接,你最终会没有自动锯齿页。在光明的一面,这可能会让你知道的孤儿页。(考虑这一!)
注意使用的模式:
[node:menu-link:url:path]/[node:menu-link]
只会给的 节点 菜单的链接,而不是的 父 (这将需要参考父母的路径)。
或模式:[node:parent:url:path]/[node:menu-link]
会引发错误在我的实例的推7约无效的令牌(即使我有令牌模块安装)。
[node:menu-link:parent:url:path]/[node:title]
如果节点不在菜单中,则不会创建别名。否则,这似乎适用于N层菜单。
我认为现在必须是这种模式:
[node:menu-link:url:path]/[node:menu-link]
“路径”而不是“别名”
您需要安装贡献 令牌模块 同样 - 尽管令牌的许多功能都是D7中的Core的一部分,但某些边缘代币(例如给定节点的完整菜单路径)并未由Core自动提供。
安装了此操作,我相信[节点:菜单链接:parent]或[node:菜单链接:parent:parent:url]应该起作用。
对我有用的模式如下:
[node:menu-link:parent:url:alias]/[node:menu-link]
我还像EATEN建议的那样插入了令牌模块。不知道是否 [node:menu-link:parent:url:alias]
是核心的一部分或生活在贡献中。
如果您试图为第三级或更深层次的页面制作别名,例如:
Home page
> Level 1 page
> Level 2 page
> Level 3 page
您希望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
对于令牌,对于第一个,我添加了两次。
享受!
节点:菜单 - 链接:父母:join-path]/[node:title] .html
这是我使用的解决方案:
[node:menu-link:parents:join:/]/[node:menu-link]
它将用破折号分开父菜单项。那就是我需要的。
对于任何偶然发现这个答案的人,并想知道如何添加此答案:
配置>搜索和元数据> URL别名,然后在“模式”选项卡下创建。