Пытаюсь темизировать вывод таксономии. Мне надо вывести определенный текст(шапку) перед нодами а если нод нет - не выводить.
Что добавить в page-taxonomy.tpl.php?
<?php if (!empty($node->taxonomy)) : print 'some text'; endif; ?>
не помогает.
просьба не пинать, в пхп 0
Комментарии
<?php print_r($node->taxonomy);?>
Мне кажется что указанный массив не может быть пустым.
попробуйте
<?php (isset($node->taxonomy[0])) ? print 'some text': null;?>
По-моему, вы вытаскиваете термины таксономии,прикрепленные к ноде.а не наоборот.
Верно замечено, в этом темплейте у вас нет объекта "$node"
Ну может и так, не спорю.
А что есть, за что можно зацепиться?
Например, откуда берется "В этой категории нет материалов." если их нет. Можно это как-то использовать в моем случае?
что-то не то, вообще страница грузится перестала
На сколько я помню у вас есть в этом темплейте переменная со значением tid термина.
Используте функцию taxonomy_term_count_nodes($tid, $type = 0) для получения количества нод привязанных к этому термину.
А полный код можете написать? я не знаю пхп вообще.
Напишите какие переменные у вас есть в этом шаблоне.
Попробуйте:
<?php
$count = taxonomy_term_count_nodes($tid);
($count>0) ? print 'some text' : null;
?>
вставил, вообще никак не реагирует
Скиньте код шаблона и скажу![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Код стандартной page.tpl.php из garland темы Drupal 6
Тогда этот код находится внутри ядра друпала![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Можно пойти по другому:
<?php
if (arg(0) == 'taxonomy' && is_numeric(arg(2))) { //проверяем является ли страница страницей терминов.
$tid = arg(2); //получаем tid
}
$count = taxonomy_term_count_nodes($tid); //получаем количество нод привязанных к этому термину
($count>0) ? print 'some text' : null; // и соответственно выводим что нам нужно по условию
?>
Заработало, спасибо! Думаю другим тоже будет это нужно. Добавляю к заголовку темы РЕШЕНО.
/