Drupal → Показывать блок только на страницах терминов определённого словаря

15.04.2013

Пример вывода блока только на страницах термина словаря tags:

<?php
if (
  arg(0) == 'taxonomy' &&
  arg(1) == 'term' &&
  ($term = taxonomy_term_load(arg(2))) &&
  $term->vocabulary_machine_name == 'tags'
) {
  return TRUE;
}
?>

Код прописывается в настройках видимости блока, с включённой опцией Pages on which this PHP code returns TRUE (experts only):

Настройки видимости блока

Показать блок только на страницах определённого словаря можно и с помощью модуля Block Visibility by Vocabulary.

Модуль для вывода блока только на странице определённых терминов — Block Visibility by Term.

Написанное актуально для
Drupal 7
Похожие записи

Комментарии

Да, menu_get_object() тоже кэшируется.

return ($term = menu_get_object('taxonomy_term', 2)) && $term->vocabulary_machine_name == 'tags';

Интересно а как в 8 Drupal это реализвать

А как включить эту опцию
Pages on which this PHP code returns TRUE (experts only)
У меня нет чекбокса. Или PHP фильтр нужен?

Добавить комментарий