在节点模板中使用自定义变量

时间:2011-11-09 16:55:16

标签: variables preprocessor drupal-7

我在预处理页面模板中创建变量

function hook_theme_preprocess_page(&$vars) {
$vars['myvariable'] = "some text here";
}

现在我需要在我的节点模板中使用这些,我可以在我dsm($ node)时看到它,但是当我尝试时

print $myvariable;

我一无所获。

1 个答案:

答案 0 :(得分:2)

mytheme_preprocess_page将预处理页面模板(即page.tpl.php),而不是节点模板(即node.tpl.php)。如果要将vars添加到节点模板,则需要使用hook_preprocess_node()处理该特定模板:

function mytheme_preprocess_node(&$vars) {
  $node = $vars['node']; // Just in case you need it

  if ($node->type == 'news_page') {
    $vars['myvariable'] = "some text here";
  }
}