Оформление таксономии через views, уникальный views для каждого словаря

Задача типовая, возникающая регулярно:

Как по разному оформить вывод taxonomy/term, для словарей таксономии?

На сайте есть несколько словарей таксономии, например "Тип события", "Страна".

В словаре "Тип события" есть разделы "Кино", "Концерт", "Выставка".

Нам надо на странице taxonomy/term/5, т.е. на категории "Кино", распечатать фильмы в одном стиле, с сортировкой, к примеру, по режиссеру, а на категории "Выставка" - с сортировкой по дате события, и добавить парочку полей еще.

Как сделать такое? Можно, конечно, измудриться - создать в папке темы taxonomy_term_page.tpl.php, внутри проверять, к какому словарю просматриваемый термин относится, и вставлять вьюсы через views_embed_view - разные вьюсы, для разных словарей, или даже для разных терминов в словаре.

Этот подход - гибкий. Посмотреть детали реализации можно в подкасте (англ.) - http://mustardseedmedia.com/podcast/episode31

Более элегантное решение, для не очень "запущенных" в плане сложности сайтов - модуль Taxonomy Views Integrator. Он позволяет выбрать, какой вьюс (и какой тип отображения внутри вьюса) использовать для какого словаря. Плюсы этого подхода:

  • Работоспособность решения не зависит от текущей темы сайта
  • Не надо программировать, все настраивается через админку

Blog categories: DrupalМодулиТемизация Drupal