Путь меню в Патхауто - PullRequest
       120

Путь меню в Патхауто

26 голосов
/ 13 января 2011

Как получить pathauto в Drupal 7 для генерации псевдонима URL по полному пути меню?

Ответы [ 10 ]

43 голосов
/ 15 июня 2012

Просто обновление на случай, если кто-нибудь столкнется с этим с более свежей версией Pathauto / Token.Это сработало для меня:

[узел: ссылка на меню: родители: путь соединения] / [узел: ссылка на меню]

9 голосов
/ 15 декабря 2011

Я закончил тем, что использовал:

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

С большой осторожностью: если у узла нет ссылки на меню, вы в конечном итоге безавтоматически псевдоним страницы.С другой стороны, это может помочь вам осознать бесхозные страницы.(Считайте, что это особенность!)

Обратите внимание, что при использовании шаблона:

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

даст только ссылку меню узла , но не parent (который необходим для ссылки на путь родителя).

Или шаблон: [node:parent:url:path]/[node:menu-link]

выдает ошибку в моем экземпляре Drupal 7 онедопустимые токены (даже если у меня установлен модуль токенов).

8 голосов
/ 07 марта 2012
[node:menu-link:parent:url:path]/[node:title]

Если узел не находится в меню, он не создает псевдоним. В противном случае это работает для n-уровневых меню.

5 голосов
/ 15 сентября 2011

Я думаю, что это должен быть такой шаблон сейчас:

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

«путь» вместо «псевдоним»

2 голосов
/ 20 мая 2011

Шаблон, который работает для меня, следующий:

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

Я также установил модуль Token, как предложил Eaten.Не знаю, является ли [node:menu-link:parent:url:alias] частью ядра или живет в contrib.

2 голосов
/ 13 января 2011

Вам также потребуется установить модуль Token для contrib - хотя многие функции Token являются частью ядра в D7, некоторые из токенов крайнего случая (например, полный путь по меню данного узла) автоматически не предоставляются ядром.

После установки я считаю, что [узел: ссылка на меню: родитель] или [узел: ссылка на меню: родитель: URL] должны работать.

1 голос
/ 13 декабря 2011

Если вы пытаетесь создать псевдонимы для страниц 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 к токену, и для первого я добавил его дважды.

0 голосов
/ 29 августа 2017

Для тех, кто натыкается на этот ответ и интересуется, как его добавить:

Конфигурация> Поиск и метаданные> псевдонимы URL, затем создайте на вкладке «Шаблоны».

0 голосов
/ 17 октября 2012

Это решение, которое я использую:

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

Он будет разделять родительские пункты меню тире. Это то, что мне нужно.

0 голосов
/ 01 октября 2012

Наслаждайтесь!

[узел: меню-ссылка: родители: нарисуйте путь] / [узел: название] .html

...