Как программно изменить псевдоним URL-адреса, созданный типом контента?
Наш текущий шаблон URL-адреса [узел: ссылка на меню: родители: путь к соединению]/[узел: заголовок]. Что нам нужно, так это способ не включать элементы ссылок родительского меню и включать только элементы ссылок дочернего меню.
Например:
Ожидаемый результат следующий:
- Когда какая-либо ссылка меню размещается на том же уровне, что и "Четвертый уровень 1" (под верхним уровнем), она должна быть ".com/Второй уровень 1/Третий уровень-1/Четвертый уровень-3"
- Текущая проблема заключается в том, что URL-адрес генерируется как ".com/Верхнего уровня/Второго уровня1/Третьего уровня-1/Четвертого уровня-3"
- Мы хотим удалить верхний уровень, верхний уровень 2, верхний уровень 3 и т.д., Удаленные из псевдонима URL-пути.
- В зависимости от расположения элемента ссылки меню, он всегда должен содержать ссылки меню на 1 уровень выше (если применимо)
- Ожидаемый шаблон URL-адреса для третьего уровня 2 (под верхним уровнем/вторым уровнем 1) является ".com/второй уровень-1/третий уровень-2"
Обновлено:
В итоге я написал пользовательский модуль для вызова hook_alter с помощью pathauto, который просто удаляет первую часть URL-адреса перед событием сохранения узла.
1
Author: sf_admin819, 2016-08-10
2 answers
Вы можете использовать этот модуль https://www.drupal.org/project/pathauto с помощью этого вы определяете пользовательский токен использования пути
1
Author: SIS Technologies, 2016-08-10 18:14:34
Возможно, вы сможете заставить это работать, используя модуль Правила вместе с модулем Правила пути , используя такой подход:
- Событие правил: примерно в то время, когда узел сохраняется (или обновляется и т. Д.).
- Условие правил: используйте Правила пути , которые предоставляют различные условия правил " для проверки URL-адреса по заданной строке " (примеры такой проверки см. на странице проекта этого модуля). Похоже, что проверка ваших шаблонов URL-адресов следует быть прямолинейным с этим модулем.
- Действие правил: используйте действие "Создать или удалить псевдоним URL-адреса узла", чтобы изменить псевдоним URL-адреса. Это действие правил аналогично использованию модуля Pathauto, вы можете использовать токены для создания соответствующего пути.
1
Author: Pierre.Vriens, 2016-08-10 21:18:32