Я хотел бы напечатать термины таксономии (из поля field_tags
) в блоке на странице просмотра узла (в подтеме Zen).
Так что я сделал.
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
, ни одна из этих двух переменных не выводит таксономические термины из поля.
print render($node_content_field_tags);
print render($node_field_tags);
Знаете ли вы функцию Drupal для отображения поля терминов таксономии?
РЕДАКТИРОВАТЬ 13.01.2011, 00:21
Насколько я понял (из это , это и , что ) процесс код должен выглядеть более / менее так
$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.
Вы знаете, чего мне не хватает?