Как узнать первый tid в Computed поле?

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

Аватар пользователя GolovaNoga GolovaNoga 5 февраля 2011 в 17:36

Помогите в computed field получить значение первого термина таксономии для текущей ноды.

ПРобую так

if(is_array($node->taxonomy)){
reset($node->taxonomy);
$obj = current($node->taxonomy);
$cityid = (!empty($obj)) ? $obj->tid : 0;
}

$node_field[0]['value']="Сделать заявку";

но похоже такого $node->taxonomy массива там нет Sad

Комментарии

Аватар пользователя graker graker 5 февраля 2011 в 17:56

Если объект $node доступен, но массива таксономии в нем нет - возможно хуки таксономии выполняются позже хуков computed field (и cck).

Попробуйте сделать модулю taxonomy в таблице system вес поменьше.

Аватар пользователя graker graker 5 февраля 2011 в 18:29

0 можно поменять на -1.

Вес у всех модулей - и стандартных, и нестандартных - прописывается и изменяется в таблице system.

Аватар пользователя GolovaNoga GolovaNoga 5 февраля 2011 в 19:26

Поменял не получилось с весом, пошел другим путем:

использовал функцию taxonomy_node_get_terms_by_vocabulary
она возвращает массив значений определенного словаря, т.к. я знаю какой словарь мне нужен то все получилось.