Я хотел бы напечатать таксономические термины (из поля field_tags
) в блоке на странице просмотра узла (в подтеме Дзэн).Как печатать узловую таксономию в блоке?
Так что я сделал.
template.php
function michal_preprocess_block(&$vars, $hook) {
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
$vars['node'] = $node;
$vars['node_field_tags'] = $node->field_tags;
$vars['node_content_field_tags'] = $node->content['field_tags'];
}
}
Однако, когда я пытаюсь напечатать его в block.tpl.php
, ни один из этих 2-х переменных выводит термины таксономии из поля.
print render($node_content_field_tags);
print render($node_field_tags);
Знаете ли Вы функцию Drupal для визуализации поля терминов таксономии?
РЕДАКТИРОВАТЬ 13.01.2011, 00:21
Насколько я понял (от this, this и that) процесса код должен выглядеть более/менее, как этот
$node = node_load(arg(1));
$node_view($node) // Generates an array for rendering a node, see http://api.drupal.org/api/drupal/modules--node--node.module/function/node_view/7
$vars['node'] = $node;
, а затем в block.tpl.php
:
render($node->content['field_tags']);
Однако содержимое $ node-> равно null.
Знаете ли вы, что мне не хватает?
вы не можете просто создать представление для отображения содержимого таксономии внутри блока вместо изменения шаблона? – espais
Привет, к сожалению, мне нужно иметь его в коде. –