Как привязать блок к типу документа

Главные вкладки

Аватар пользователя BorisVlasenko BorisVlasenko 25 сентября 2009 в 11:54

Всем привет.

Можно ли сделать так, чтобы блок выводился на определенном типе документа.
Я создаю разные разделы и мне нужно меню раздела привязать к страницам этого раздела.

А еще лучше будет выводить блок по термину таксономии.
Догадываюсь, что можно условием это сделать, но не хватает знаний, чтобы понять как.

Комментарии

Аватар пользователя IrinaStasuk IrinaStasuk 25 сентября 2009 в 12:01

<?php
$match = FALSE;
$types = array('тип материала' => 1);
if (arg(0) == 'node' && is_numeric(arg(1))) {
$nid = arg(1);
$node = node_load(array('nid' => $nid));
$type = $node->type;
if (isset($types[$type])) {
$match = TRUE;
}
}
return $match;
?>

Аватар пользователя BorisVlasenko BorisVlasenko 25 сентября 2009 в 14:04

IrinaStasuk wrote:
<?php
$match = FALSE;
$types = array('тип материала' => 1);
if (arg(0) == 'node' && is_numeric(arg(1))) {
$nid = arg(1);
$node = node_load(array('nid' => $nid));
$type = $node->type;
if (isset($types[$type])) {
$match = TRUE;
}
}
return $match;
?>

Спасибо огромное! Побежал пробовать!

Аватар пользователя BorisVlasenko BorisVlasenko 25 сентября 2009 в 16:05

Всё прекрасно, но вылезла одна проблема:
у меня "Новости" - это ссылка на термин таксономии, следовательно, когда нажимаю "Новости", то меню (блок) исчезает.
Я в недоумении.

view пока не пробовал

Аватар пользователя BorisVlasenko BorisVlasenko 25 сентября 2009 в 16:06

Всё прекрасно, но вылезла одна проблема:
у меня "Новости" - это ссылка на термин таксономии, следовательно, когда нажимаю "Новости", то меню (блок) исчезает.
Я в недоумении.

view пока не пробовал.

О, кажется придумал!
Надо добавить проверку на определенную страницу. Т.е. выводить меню, если тип материала такой-то или если такая-то страница.

Аватар пользователя BorisVlasenko BorisVlasenko 25 сентября 2009 в 16:34

Виноват, плохо искал. Забыл о setegnom.com

На странице http://setegnom.com/drupal/snippets

Показывать/не показывать блок для URL
Показывать/не показывать блок для терминов
Показывать/не показывать блок для терминов и/или URL
Показывать/не показывать блок для типов документов

Показывать/не показывать блок для типов документов и/или URL
Показывать/не показывать блок пользователю
Показывать/не показывать блок пользователям
Показывать/не показывать блок роли
Показывать/не показывать блок ролям

Аватар пользователя BorisVlasenko BorisVlasenko 21 октября 2009 в 16:45

Осталось найти, как вывести блок по словарю.
Т.е. вывод по типу работает, но блок пропадает, если на экране не нода, а список документов по термину.
Я нашел, как выводить блок по термину, но не пойму, как выводить блок по словарю.

Аватар пользователя DJLocksmith DJLocksmith 6 марта 2013 в 18:22

Добрый день, а у меня вот такая ошибка вылезла

Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! в функции DrupalDefaultEntityController->load() (строка 178 в файле /hosting/b10-25758/data/www/almatech.com.ua/includes/entity.inc).
Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! в функции DrupalDefaultEntityController->cacheGet() (строка 355 в файле /hosting/b10-25758/data/www/almatech.com.ua/includes/entity.inc).

в чем может быть дело?