Skip to main content

Drupal 6: как показывать блок только на страницах, принадлежащих определённому типу материала

Ещё одна ответственная проблемка, которую надо решать с помощью php-кода - проверенного. То есть, допустим, вы хотите, чтобы блок выводился только в нодах, относящихся к типу материала page (СТРАНИЦА), например. Тогда


<?php
// Показываем в материалах типа СТРАНИЦА
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(array('nid' => arg(1)));
return $node->type == 'page';
}

// Показываем на страницах содержащих нулевой позицией СТРАНИЦА
$url = strpos($_GET[q], "page");
if ($url === 0) {
return true;
}
?>

В коде упомянуто слово page дважды, ибо он написан для типа материала "страница". Соответственно, надо заменить page на нужное, например, на story или что там у вас.

Заходим в настройки блока, смотрим "Установки видимости для страницы", выбираем "Показать, если данный PHP-код возвращает TRUE (PHP-режим, только для экспертов).", вставляем кода в форму и жмём сохранить.

Взято на sudo.in, за что автору сайта большое спасибо!