drupal_set_message() 在 Drupal 7 上的 node.tpl.php 模板中不起作用

发布于 2024-11-10 01:09:53 字数 600 浏览 3 评论 0原文

我的问题是

在node.tpl.php

在node.tpl.php中,我也做了 查看主题模板是否设置正确。答案是肯定的。

我还在我的 [theme].info 文件中设置了 page_top 和 page_bottom 区域[内容] = 内容 区域[帮助] = 帮助 区域[page_top] = 页面顶部 regions[page_bottom] = Page Bottom

$messages 在 page.tpl.php 中输出

经过所有这些检查后,drupal_set_message() 在 node.tpl.php 中仍然无法工作

My problem is with
<?php drupal_set_message('Hello World'); ?>

in node.tpl.php

In node.tpl.php, I have also done
<?php print_r(get_defined_vars()); ?>
to find out if the theme template is set correctly. The answer is yes.

I also have page_top and page_bottom set in my [theme].info file
regions[content] = Content
regions[help] = Help
regions[page_top] = Page Top
regions[page_bottom] = Page Bottom

$messages is outputted in page.tpl.php
<div id="messages">
<?php print $messages; ?>
</div>

After checking through all these, drupal_set_message() is still not working in node.tpl.php

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

姜生凉生 2024-11-17 01:09:54

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

是的,我也觉得不对,这里有一些关于该主题的讨论和确认。 (关闭:按设计工作)

Drupal 7 might render the messages before the node templates, that's why you can't see those messages.

Yes, it feels wrong to me too, and here is a little discussion and confirmation about the topic. (Closed: work as designed)

燕归巢 2024-11-17 01:09:54

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

function template_preprocess_node(&$vars){
  $vars['messages'] = drupal_get_messages();
}

Not 100% sure, but you might be able to create a preprocess_node function and pass $messages to the node templates.

function template_preprocess_node(&$vars){
  $vars['messages'] = drupal_get_messages();
}
[浮城] 2024-11-17 01:09:53

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

The $messages variable isn't listed in the node.tpl.php documentation for Drupal 7. Do you have the $page_top variable being output in your html.tpl.php? I think that may be where the messages get output in D7.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文