xandeadx.ru Блог музицирующего веб-девелопера

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

Опубликовано в

Пример вывода блока только на страницах термина словаря 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
Похожие записи

Комментарии RSS

можно и menu_get_object использовать

вместо _load

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

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

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

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании