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変数は、Drupal7のnode.tpl.phpドキュメントにリストされていません。$ page_top変数がhtml.tpl.phpに出力されています?D7でメッセージが出力されるのはここかもしれないと思います。

于 2011-05-26T14:54:29.537 に答える
0

Drupal 7は、ノードテンプレートの前にメッセージをレンダリングする可能性があるため、これらのメッセージは表示されません。

はい、それは私にも間違っていると感じます、そしてここにトピックについての少しの議論と確認があります。(クローズ:設計どおりに動作)

于 2011-05-26T16:42:37.143 に答える
0

100%確実ではありませんが、preprocess_node関数を作成して、$messagesをノードテンプレートに渡すことができる場合があります。

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