Drupal 7: шаблон терминов иерархии Pathauto
У меня есть словарь таксономии Drupal 7.9 по следующей схеме:
category-1
category-1 > subcategory-1-1
category-1 > subcategory-1-2
category-1 > subcategory-1-3
category-2
category-2 > subcategory-2-1
Я хочу отразить эту иерархию таксономии в пути к моей странице, например
category-1/subcategory-1-1/page-123
Для этого я использую модуль Pathauto версии 7.x-1.0. но я не знаю,какой шаблон я должен использовать.
В настоящее время я использую [node:%field_taxonomy%]/[node:title]
но с этим шаблоном путь URL просто subcategory-1-1/page-123
Таким образом, полная иерархия не отражается. Есть ли схема дерева таксономии? Я не могу найти обновленную информацию об этом, и действительные шаблоны, кажется, меняются в каждой версии Pathauto.
4 ответа
После некоторых проб и ошибок я нашел способ, который работает довольно хорошо для меня при создании пользовательских URL-путей с использованием терминов таксономии. Все, что вам нужно сделать, это установить дополнительный модуль, который называется Entity API. Вы можете найти его здесь http://drupal.org/project/entity. После установки вы должны включить модули Entity API и Entity tokens. Сущностные токены предоставляют замены токенов для всех свойств, которые не имеют токенов и известны API-интерфейсу сущности.
Сначала зайдите и создайте новый словарь таксономии. Давайте назовем это "Категория" и добавим несколько терминов. Затем для типа содержимого, для которого вы хотите иметь собственный URL-путь, необходимо создать новое поле ссылки на термин. Я не знаю почему, но он не работает со стандартными field_tags. Итак, обязательно создайте новый. Давайте также назовем его категорией и используем в качестве источника наш ранее созданный словарь "Категория". И вот еще одна вещь, которую вы должны принять во внимание: вы должны пометить это поле маленькой буквой; иначе это не работает по неизвестной мне причине;). В итоге вы получите поле field_category.
Перейдите на страницу администрирования псевдонимов URL -> Шаблоны. Разверните шаблоны замены для путей Контента -> разверните Узлы -> вы увидите категорию внизу, разверните ее. Хорошо, теперь вы готовы использовать токены терминов таксономии.
Используйте что-то вроде [node:field-category:name]/[node:title], где [node: field-category: name] - это название термина таксономии, и у вас будет путь, подобный mysite.com/term/title.,
Кстати, я использую Pathauto 7.x-1.0-beta1, Token 7.x-1.0-beta2 и Entity API 7.x-1.0-beta8.
Удачи!))
http://drupal.org/node/1044980
Вы можете создать URL с этим шаблоном: [узел: категория поля: словарь: имя] / [узел: категория поля: родители: объединение:/]/[узел: категория поля: имя] / [узел: название]
В вашей конкретной ситуации вы можете использовать следующий шаблон для элементов таксономии:
[Термин: словарный запас: имя]/[Термин: родитель: родитель]/[Термин: родитель]/[Термин: имя]
И для шаблона узла:
[Узел:%field_taxonomy%: URL: путь]/[узел: Название]
Существует недостаток, что в этом случае паттерн будет обрабатывать до трех уровней. Таким образом, вы не можете сделать это неограниченным с этим подходом. (Я считаю, что вы можете добавить термин: родитель: родитель:... столько, сколько вы хотите).
Тем не менее, он будет обрабатывать менее 3 уровней в порядке (только что проверил, чтобы убедиться).
Проверьте мой ответ здесь. Вы можете использовать модуль индекса объекта таксономии для достижения такого поведения.
Насколько я знаю, базовый Drupal + Token + PathAuto не может создавать пути, как вы этого хотите.