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 не может создавать пути, как вы этого хотите.

Другие вопросы по тегам