cerf 29 января 2009 в 8:35 Помогите пожалуйста решить проблемку.. Необходимо показать блок, если термин данной ноды принадлежит словарю. т.е. мне необходимо показывать блок только в определенном словаре. Drupal6 Блог Войдите или зарегистрируйтесь, чтобы отправлять комментарии
cerf 29 января 2009 в 12:17 Не знаю правильно написал или нет, но работает. <?php // для терминов $vocabulary_id = 4;// id словаря $termlist = array(); foreach( taxonomy_get_tree($vocabulary_id, 0, -1, 1) as $term ){ $termlist[] = $term->tid; } if (arg(0) == 'taxonomy' && arg(1) == 'term'&& is_numeric(arg(2)) && in_array(arg(2), $termlist)) { return TRUE; } //для ноды if (arg(0) == 'node' && is_numeric(arg(1)) ) { $node = node_load(arg(1)); foreach($node->taxonomy as $term_info) { if($term_info->vid == $vocabulary_id){ return TRUE; } } } ?>
paurock 6 марта 2009 в 14:38 А мне нужно, чтобы в зависимости от принадлежности к термину менялся дизайн блока, как лучше поступить в этом случае???
Комментарии
Не знаю правильно написал или нет, но работает.
// для терминов
$vocabulary_id = 4;// id словаря
$termlist = array();
foreach( taxonomy_get_tree($vocabulary_id, 0, -1, 1) as $term ){
$termlist[] = $term->tid;
}
if (arg(0) == 'taxonomy' && arg(1) == 'term'&& is_numeric(arg(2)) && in_array(arg(2), $termlist)) {
return TRUE;
}
//для ноды
if (arg(0) == 'node' && is_numeric(arg(1)) ) {
$node = node_load(arg(1));
foreach($node->taxonomy as $term_info) {
if($term_info->vid == $vocabulary_id){
return TRUE;
}
}
}
?>
А мне нужно, чтобы в зависимости от принадлежности к термину менялся дизайн блока,
как лучше поступить в этом случае???