Видимость блока в одном термине и нодах с этим термином

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

Аватар пользователя xchea01 xchea01 10 марта 2010 в 18:01

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

<?php
$desired_terms 
= array(126);
if ( 
arg(0) == 'node' and is_numeric(arg(1)) ) {
    
$node node_load(arg(1));
   foreach (
$node->taxonomy as $term) {
        if (
in_array($term->tid$desired_terms)) {
            return 
TRUE;
        }
    }
}
return 
FALSE;
?>

Но тогда блок не выводится на странице mysite.com/taxonomy/term/1
Как вывести еще и на эту страницу?
С php увы не знаком.
Пробовал <?phpif ($term->tid == 1) { return TRUE; }?>, но не сработало.

Комментарии

Аватар пользователя xchea01 xchea01 10 марта 2010 в 22:12

Oleksa@drupal.org, а что запишите в преимущества? То, что написал graker плюс код, который я предоставил раньше прекрасно работают. Использовалось для 4 блоков. Простой копипаст с изменением одной цифры.

Аватар пользователя Jean-Claude Jean-Claude 24 ноября 2011 в 22:39

испробовал отключить в определенной рубрике и статьях этой рубрики

скомбинировал код приведенный выше

<?php

$terms 

= array(4);
foreach (
$terms as $term) {
  if (
arg(2) == $term) return FALSE;
}

$desired_terms = array(4);
if ( 
arg(0) == 'node' and is_numeric(arg(1)) ) {
    
$node node_load(arg(1));
   foreach (
$node->taxonomy as $term) {
        if (
in_array($term->tid$desired_terms)) {
            return 
FALSE;
        }
    }
}

return 

TRUE

?>

этот код тоже работает но длинный
http://www.drupal.ru/node/66872