No Drupal 7, por padrão, a $messages
variável é impressa em page.tpl.php.
Existe uma maneira de imprimir $messages
em um arquivo node.tpl.php (por exemplo, $ node-mycontenttype.tpl.php).
Apenas colocando <?php print $messages; ?>
ou
<?php print render($page['messages']); ?>
não funciona.
Há um tutorial aqui para imprimir $ messages em um bloco, mas eu gostaria de colocá-lo no meu arquivo node.tpl.php.
template_preprocess_node
então drupal_get_messages está vazio quando você o chama.Respostas:
Na verdade, o que você quer fazer é o seguinte:
Como isso funciona: O núcleo do Drupal verifica o valor de show_messages em theme_process_page. Se for VERDADEIRO (padrão), ele chamará theme ('status_messages') como acima, e esvaziará efetivamente o armazenamento de mensagens; portanto, chamar a mesma função de tema mais tarde retornará uma string vazia. No entanto, se definirmos essa variável como FALSE, isso impedirá que a referida função tema seja chamada na process_page, permitindo obter todas as mensagens usando a mesma função tema, em um modelo de nossa escolha.
fonte
A resposta em Como exibir mensagens de um bloco separadamente de $ messages no page.tpl.php que você referenciou na sua pergunta é um bom caminho a percorrer. Essencialmente, você precisa de algo parecido com esse: YOURTHEME é o nome do seu tema e essa função deve estar no seu template.php. Na verdade, eu não executei esse código, mas tenho uma rachadura nele.
Você deve conseguir enviar $ messages no seu node.tpl.php
fonte