27

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

4

10 回答 10

44

只是一个更新,以防有人使用更新版本的 Pathauto/Token 遇到此问题。这对我有用:

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

于 2012-06-15T18:11:51.230 回答
10

我最终使用:

[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 实例中引发关于无效令牌的错误(即使我安装了令牌模块)。

于 2011-12-14T22:10:07.020 回答
8
[node:menu-link:parent:url:path]/[node:title]

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

于 2012-03-06T22:13:52.043 回答
5

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

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

“路径”而不是“别名”

于 2011-09-15T16:27:13.683 回答
2

您还需要安装 contrib Token 模块——尽管 Token 的许多功能是 D7 中核心的一部分,但没有提供一些边缘案例令牌(如给定节点的完整菜单路径)自动按核心。

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

于 2011-01-13T19:54:17.663 回答
2

适合我的模式如下:

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

我还按照 Eaten 的建议安装了 Token 模块。不知道[node:menu-link:parent:url:alias]是核心的一部分还是生活在贡献中。

于 2011-05-20T10:34:23.363 回答
1

如果您尝试为 3 级或更深的页面创建别名,例如:

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了令牌,对于第一个令牌,我添加了两次。

于 2011-12-13T12:52:16.640 回答
0

享受!

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

于 2012-10-01T18:02:44.287 回答
0

这是我使用的解决方案:

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

它将用破折号分隔父菜单项。这就是我需要的。

于 2012-10-17T16:16:36.737 回答
0

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

配置 > 搜索和元数据 > URL 别名,然后在“模式”选项卡下创建。

于 2017-08-29T16:27:07.313 回答