Добрый день, знатоки! Друпал 6. Есть снипетт видимости блока в зависимости от термина:
<?php
$desired_terms = array(27);
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;
?>
Все работает. Но нужно исключить показание блока на одной из страниц с этим же термином. Php не знаю (уж простите). Піталась разобраться в логике, но не получается. У меня получилось:
<?php
$desired_terms = array(27);
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) &&
!drupal_match_path($request_path, 'node/21494')) {
return TRUE;
}
}
}
return FALSE;
?>?>
Но не работает. Может кто подскажет что не так?
Комментарии
<?php
$desired_terms = array(27);
$non_desired_nid = '123';
if ( arg(0) == 'node' and is_numeric(arg(1)) && arg(1) != $non_desired_nid) {
$node = node_load(arg(1));
foreach ($node->taxonomy as $term) {
if (in_array($term->tid, $desired_terms)) {
return TRUE;
}
}
}
return FALSE; ?>
Спасибо большое!!!! Да, совсем не туда копала. Работает!