2

我的问题是 <?php drupal_set_message('Hello World'); ?>

在 node.tpl.php

在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中仍然不起作用

4

3 回答 3

1

$messages 变量未列在Drupal 7 的 node.tpl.php 文档中。您是否在 html.tpl.php 中输出了 $page_top变量?我认为这可能是消息在 D7 中输出的地方。

于 2011-05-26T14:54:29.537 回答
0

不是 100% 肯定,但您可能能够创建一个 preprocess_node 函数并将 $messages 传递给节点模板。

function template_preprocess_node(&$vars){
  $vars['messages'] = drupal_get_messages();
}
于 2012-12-21T04:01:45.203 回答
0

Drupal 7 可能会在节点模板之前呈现消息,这就是您看不到这些消息的原因。

是的,我也觉得不对,这里就这个话题做一点讨论和确认。(关闭:按设计工作)

于 2011-05-26T16:42:37.143 回答