Как отобразить имя термина с созданного дополнительного поля ссылка на термин? (Решено)

28 мая 2015 в 21:30
Аватар пользователя xJabix xJabix 0 5

Приветствую, возникла проблема не могу решить:

Сделал блок с PHP обработкой в котором должен выводится динамичный контент. Нашел как вывести название материала и имя юзера (если не зарегистрирован, то выводится как гость). Не могу разобраться как отобразить имя термина с созданного дополнительного поля "ссылка на термин таксономии" в качестве категории как текст.

<p>Здравствуйте, <?php global $user; if ($user->uid) {  print t('name', array('name' => format_username($user)));} else {  print t('Гость');} ?>.
Здесь вы можете ознакомиться с материалом "<?php $node = node_load(arg(1)); echo $node->title; ?>".</p>
<p><?php $node = node_load(arg(1)); echo $node->title; ?> относится к категории: <?php ??? ?>.

Комментарии

Получить tids из поля: $field_items = field_get_items('node', $node, 'field_myName');
Получить объект термин: $term = taxonomy_term_load($tid);
ссылка: l($term->name, "taxonomy/term/{$term->tid}");

28 мая 2015 в 21:58

Пробовал так:

<?php
        $field_items = field_get_items('node', $node, 'field_kategorii'); // Получить tids из поля
        $term = taxonomy_term_load($tid); // Получить объект термин
        print l($term->name, "taxonomy/term/{$term->tid}"); // Ссылка
?>

Не хочет работать.

28 мая 2015 в 23:31

Выдает ошибки:

Notice: Undefined variable: tid в функции eval() (строка 4 в файле /tema/modules/php/php.module(80) : eval()'d code).
Notice: Trying to get property of non-object в функции eval() (строка 5 в файле /tema/modules/php/php.module(80) : eval()'
d code).
Notice: Trying to get property of non-object в функции eval() (строка 5 в файле /tema/modules/php/php.module(80) : eval()'d code).
Notice: Undefined variable: tid в функции eval() (строка 4 в файле /tema/modules/php/php.module(80) : eval()'
d code).
Notice: Trying to get property of non-object в функции eval() (строка 5 в файле /tema/modules/php/php.module(80) : eval()'d code).
Notice: Trying to get property of non-object в функции eval() (строка 5 в файле /tema/modules/php/php.module(80) : eval()'
d code).
28 мая 2015 в 23:40

Нагуглил такой вариант:

<?php
$term = taxonomy_term_load($node->field_kategorii['und'][0]['tid']);
print l($term->name, "taxonomy/term/{$term->tid}");
?>

Получилось так:

<p>Здравствуйте, <?php global $user; if ($user->uid) {  print t('@Name', array('@Name' => format_username($user)));} else {  print t('Гость');} ?>.
Здесь вы можете ознакомиться с материалом "<?php $node = node_load(arg(1)); echo $node->title; ?>".</p>
<p><?php $node = node_load(arg(1)); echo $node->title; ?> относится к категории: <?php $term = taxonomy_term_load($node->field_kategorii['und'][0]['tid']); print l($term->name, "taxonomy/term/{$term->tid}"); ?>

Вроде работает.

29 мая 2015 в 11:00