Каковы замены шаблона псевдонима URL-адреса для родительских терминов таксономии при создании путей к узлам?
СЦЕНАРИЙ:
-
Я создал термины таксономии с 3 уровнями глубины. Пример:
Term 1 ( Root ) Term 2 ( Child of Root ) Term 3 ( Child of Term 2 )
-
В псевдониме URL для моего словаря я задаю:
[term:parent:parent]/[term:parent]/[term:name] That successfully creates a path that looks like this: "http://mydomain.com/term-1" for the root term "http://mydomain.com/term-1/term-2" for the root's child term "http://mydomain.com/term-1/term-2/term-3" for the child's child term
В моем типе контента я создал поле ссылки на термин, которое заставляет пользователя выбирать самый глубокий термин (3-й термин вниз) с помощью модуля Простой иерархический выбор .
ПРОБЛЕМА:
При создании узлов, Я хотел бы установить псевдоним URL-адреса узла на term-1/term-2/term-3/node-tile
. У меня возникли проблемы с поиском шаблона замены для этого.
Позволяет ли мне автоматический путь сделать это из коробки? Если да, то какой шаблон мне следует использовать?
2 answers
Существуют некоторые расширенные способы использования токенов (не уверен, что это просто в контексте pathauto или нет). Вы можете получить то, что ищете, с помощью join
:
[node:field-name:parents:join:/]/[node:field-name:name]/[node:title]
Вы также можете заменить свой шаблон терминов на:
[term:parents:join:/]/[term:name]
Используя этот метод, ваш словарный запас может изящно вырасти до 4 (или более) уровней без необходимости изменять шаблон pathauto.
Вам нужно будет перейти к admin/config/search/path/settings
и установить для параметра Slash (/)
значение "Не заменять" в разделе "Пунктуация" для этот метод должен работать.
Да, для этого есть маркер. Предполагая, что имя компьютера поля ссылки на термин в вашем типе контента равно field_myterm
, шаблон для пути должен быть следующим:
[node:field-myterm:parent:parent]/[node:field-myterm:parent]/[node:field-myterm]/[node:title]
Обратите внимание, что подчеркивание в имени поля заменено тире в маркере.
Редактировать: Я только что понял, что эти токены поставляются с модулем Entity Tokens, который включен в модуль Entity API.