我在预处理页面模板中创建变量
function hook_theme_preprocess_page(&$vars) {
$vars['myvariable'] = "some text here";
}
现在我需要在我的节点模板中使用这些,我可以在我dsm($ node)时看到它,但是当我尝试时
print $myvariable;
我一无所获。
答案 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";
}
}