Вопрос по темизации [РЕШЕНО]

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

Аватар пользователя ga6iem ga6iem 17 августа 2012 в 11:45

Пытаюсь темизировать вывод таксономии. Мне надо вывести определенный текст(шапку) перед нодами а если нод нет - не выводить.
Что добавить в page-taxonomy.tpl.php?
<?php if (!empty($node->taxonomy)) : print 'some text'; endif; ?> не помогает.
просьба не пинать, в пхп 0

Комментарии

Аватар пользователя divined divined 17 августа 2012 в 11:50

<?php print_r($node->taxonomy);?>

Мне кажется что указанный массив не может быть пустым.

попробуйте
<?php (isset($node->taxonomy[0])) ? print 'some text'null;?>

Аватар пользователя divined divined 17 августа 2012 в 11:57

Chyvakoff wrote:
По-моему, вы вытаскиваете термины таксономии,прикрепленные к ноде.а не наоборот.

Верно замечено, в этом темплейте у вас нет объекта "$node"

Аватар пользователя ga6iem ga6iem 17 августа 2012 в 12:22

Ну может и так, не спорю.
А что есть, за что можно зацепиться?
Например, откуда берется "В этой категории нет материалов." если их нет. Можно это как-то использовать в моем случае?

Аватар пользователя divined divined 17 августа 2012 в 12:01

На сколько я помню у вас есть в этом темплейте переменная со значением tid термина.
Используте функцию taxonomy_term_count_nodes($tid, $type = 0) для получения количества нод привязанных к этому термину.

Аватар пользователя ga6iem ga6iem 17 августа 2012 в 12:26

divined wrote:
Попробуйте:

<?php
$count 
taxonomy_term_count_nodes($tid);
(
$count>0) ? print 'some text' null;
?>


вставил, вообще никак не реагирует

Аватар пользователя divined divined 17 августа 2012 в 12:36

Тогда этот код находится внутри ядра друпала Smile
Можно пойти по другому:

<?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// и соответственно выводим что нам нужно по условию
?>
Аватар пользователя ga6iem ga6iem 17 августа 2012 в 12:51

divined wrote:
Тогда этот код находится внутри ядра друпала Smile
Можно пойти по другому:

<?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// и соответственно выводим что нам нужно по условию
?>

Заработало, спасибо! Думаю другим тоже будет это нужно. Добавляю к заголовку темы РЕШЕНО.