Drupal: шаблоны для taxonomy_term и view mode — как добавить?

При работе с таксономией в Drupal нередко возникает потребность отображать термины по-разному в зависимости от контекста. Например, один и тот же термин в режиме teaser должен выводиться компактно, а в режиме full — с подробным описанием.

Если вы используете разные view mode для терминов таксономии, вполне логично захотеть разные Twig-шаблоны для каждого режима. Но есть нюанс: в отличие от сущностей node, по умолчанию Drupal не предоставляет template suggestions для taxonomy_term в зависимости от view mode.

Что Drupal делает по умолчанию

Когда Drupal рендерит термин таксономии, он ищет Twig-шаблон по следующим приоритетам:

  • taxonomy-term--[vocabulary].html.twig — шаблон для словаря, например tags;
  • taxonomy-term.html.twig — общий шаблон термина.

Однако, если термин отображается в режиме teaser, full, compact и т.п. — это никак не влияет на шаблон, потому что suggestions для view mode не генерируются автоматически.

Как добавить template suggestions для view mode вручную

Чтобы шаблоны могли различаться в зависимости от view mode, добавим нужные подсказки в файл вашей темы (.theme) через hook_theme_suggestions_taxonomy_term_alter():

После этого Drupal начнёт искать шаблоны:

  • taxonomy-term--teaser.html.twig
  • taxonomy-term--tags--teaser.html.twig

в зависимости от view mode и словаря.

Как это использовать

Допустим, вы хотите, чтобы термин из словаря topics в режиме teaser отображался особым образом. Создайте шаблон:

Затем добавьте в него нужную разметку и логику. Например:

На чаще всего копируют базовый шаблон и меняют его.

Нюансы

  • Требуется очистка кэша после добавления хука: drush cr или через интерфейс.
  • Используйте двойное тире (--) в именах шаблонов, а не подчеркивания.

Хотя Drupal не предлагает template suggestions по view mode для taxonomy_term из коробки, их можно легко добавить самостоятельно. Это делает темизацию терминов намного гибче и позволяет использовать все преимущества view mode, как у node.

Мало букафф? Читайте есчо !

Добавляем в page cache зависимость от значения cookie

Март 4, 2025 г.

Модуль page_cache использует http_middleware, чтобы зацепиться за объект request и произвести кеширование страницы. Работает он для анонимных пользователей. ...

Читать

Использование модального диалога в Drupal

Январь 13, 2026 г.

В комплекте Drupal включает в себя jquery dialog, который можно подключить и использовать для ваших целей на фронт-енд. Эта статья о том, как это быстро сделать и начать собственно использовать в своей теме оформления. Типичная тема представляет ...

Читать

Кастомные настройки сайта в Drupal

Март 9, 2025 г.

На сайте всегда (или почти всегда) возникает задача управления настройками вроде телефон, email, какие то текстовые элементы, вроде копирайта, адрес организации и т.п. С точки зрения данных - требуется объект в терминах шаблонов проектирования - синглтон. ...

Читать

Табличное редактирование мультиполей в Drupal через Paragraphs и Field Group

Октябрь 14, 2025 г.

Иногда при работе с Drupal возникает необходимость оформить ввод набора однотипных данных — например, списка характеристик, параметров или цен — не в виде ...

Читать
 

Комментарии к «Drupal: шаблоны для taxonomy_term и view mode — как добавить?»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: