К какому термину относится материал?

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

Аватар пользователя digital_sword digital_sword 4 декабря 2009 в 17:47

Таксономия организована так: Термин (город)>>Термин (Улица).
Как мне программно вывести город?
Улицу понятно: print $terms . А вот родительский термин как?

Комментарии

Аватар пользователя digital_sword digital_sword 4 декабря 2009 в 20:30

Еще бы понимать, как пользоваться API.
$node->taxonomy возвращает массив значений.
Пробовал написать taxonomy_get_parents($node->taxonomy) - не помогает. А нужно написать именно при создании ноды, а не в модуле.
Хотя в форме для введения пхп кода и <?php print $terms ?> ничего не выдает.

Аватар пользователя kosilko kosilko 4 декабря 2009 в 21:56

"digital_sword" wrote:
Пробовал написать taxonomy_get_parents($node->taxonomy) - не помогает.

эта функция требует на входе ID термина, а вы передаете ей массив, естессна что не поможет

Аватар пользователя edhel edhel 4 декабря 2009 в 22:51

Фразу "А нужно написать именно при создании ноды, а не в модуле." понять не могу. Писать вызов taxonomy_get_parents можно прямо в node.tpl.php или куда Вы там print $terms пишите...

Для начала выведите на экран $node->taxonomy и посмотрите что там хранится. Но нужно всё-таки понимать хоть чуток функции, массивы, объекты в пхп. Случайным образом переставляя названия функций и переменных тяжело будет добиться чего-то вразумительного.

Аватар пользователя digital_sword digital_sword 4 декабря 2009 в 23:16

"edhel" wrote:
А нужно написать именно при создании ноды, а не в модуле." понять не могу.

Писать надо в теле создания материала (у меня по термину таксономии титл формируется модулем automatic_nodetitle). Писать текст в модуле - смысла для этого нет.

Вывести массив. Опять же пробую кодом:

<?php
  foreach($node->taxonomy as $value)
  {
     echo "$value <br />";
  }
?>

Ошибка.warning: Invalid argument supplied for foreach() . Пора идти спать, видимо