drupal_set_message () не работает в шаблоне node.tpl.php в Drupal 7 - PullRequest
2 голосов
/ 26 мая 2011

Моя проблема с <?php drupal_set_message('Hello World'); ?>

в node.tpl.php

В node.tpl.php я также сделал <?php print_r(get_defined_vars()); ?>, чтобы выяснить, является ли шаблон темыустановить правильно.Ответ - да.

У меня также есть page_top и page_bottom в моем файле [theme] .info regions[content] = Content regions[help] = Help regions[page_top] = Page Top regions[page_bottom] = Page Bottom

$, сообщения выводятся в page.tpl.php <div id="messages"> <?php print $messages; ?> </div>

После проверки всех этих параметров drupal_set_message () все еще не работает в node.tpl.php

Ответы [ 3 ]

1 голос
/ 26 мая 2011

Переменная $ messages не указана в документации node.tpl.php для Drupal 7 .У вас есть переменная $ page_top, которая выводится в вашем html.tpl.php ?Я думаю, что это может быть, где сообщения получают вывод в D7.

0 голосов
/ 21 декабря 2012

Не уверен на 100%, но вы можете создать функцию preprocess_node и передавать $ messages в шаблоны узлов.

function template_preprocess_node(&$vars){
  $vars['messages'] = drupal_get_messages();
}
0 голосов
/ 26 мая 2011

Drupal 7 может отображать сообщения до шаблонов узлов, поэтому вы не можете видеть эти сообщения.

Да, мне это тоже кажется неправильным, и вот небольшая дискуссия и подтверждение по теме. (Закрыто: работа в соответствии с планом)

...