Drupal 7: шаблон терминов иерархии Pathauto - PullRequest
5 голосов
/ 29 ноября 2011

У меня есть словарь таксономии 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

Я хочу отразить эту иерархию таксономии в пути к URL моей страницы, например

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 ]

9 голосов
/ 26 февраля 2012

После некоторых проб и ошибок я придумал способ, который довольно хорошо работает для меня при создании пользовательских 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/ термин / название.

Кстати, я использую Pathauto 7.x-1.0-beta1, Token 7.x-1.0-beta2 и Entity API 7.x-1.0-beta8.

Удачи! ))

http://drupal.org/node/1044980#comment-4562844

Вы можете создать URL с этим шаблоном: [Узел: поле-категория: словарь: имя] / [узел: поле-категория: родители: присоединиться: /] / [узел: поле-категория: имя] / [узел: название]

2 голосов
/ 17 января 2012

В вашей конкретной ситуации вы можете использовать следующий шаблон для элементов таксономии:

[Термин: словарный запас: имя] / [Термин: родитель: родитель] / [Термин: родитель] / [Термин: имя]

И для шаблона узла:

[узла:% field_taxonomy%: URL: путь] / [узел: название]

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

Хотя он отлично справится с МЕНЬШЕ, чем с 3 уровнями (только что проверено, чтобы убедиться).

0 голосов
/ 28 сентября 2012

Проверьте мой ответ здесь . Для достижения такого поведения можно использовать модуль индекса сущности таксономии.

0 голосов
/ 30 ноября 2011

Насколько я знаю, базовый Drupal + Token + PathAuto не может создавать пути, как вы этого хотите.

...