我的问题在于
<?php drupal_set_message('Hello World'); ?>
在node.tpl.php中,我也做过
<?php print_r(get_defined_vars()); ?>
找出主题模板是否设置正确。答案是肯定的。
我的[theme] .info文件中也设置了page_top和page_bottom
regions[content] = Content
regions[help] = Help
regions[page_top] = Page Top
regions[page_bottom] = Page Bottom
$ messages在page.tpl.php中输出
<div id="messages">
<?php print $messages; ?>
</div>
检查完所有这些后,drupal_set_message()仍然无法在 node.tpl.php中运行
答案 0 :(得分:1)
{messages}变量未列在node.tpl.php documentation for Drupal 7中。您是否在html.tpl.php中输出了$ page_top变量?我想这可能是消息在D7中输出的地方。
答案 1 :(得分:0)
Drupal 7可能会在节点模板之前呈现消息,这就是您无法看到这些消息的原因。
是的,我也感觉不对,here is a little discussion以及对该主题的确认。 (已结束:按设计工作)
答案 2 :(得分:0)
不是100%肯定,但您可以创建preprocess_node函数并将$ messages传递给节点模板。
function template_preprocess_node(&$vars){
$vars['messages'] = drupal_get_messages();
}