In Drupal 7 wird die $messages
Variable standardmäßig in page.tpl.php gedruckt.
Gibt es eine Möglichkeit, $messages
in einer node.tpl.php-Datei zu drucken (zB $ node-mycontenttype.tpl.php)?
Einfach setzen <?php print $messages; ?>
oder
<?php print render($page['messages']); ?>
geht nicht.
Es gibt ein Tutorial hier zum Drucken von $ messages in einem Block, aber ich mag es in meiner node.tpl.php Datei setzen.
template_preprocess_node
drupal_get_messages leer ist, wenn Sie es aufrufen.Antworten:
Eigentlich möchten Sie Folgendes tun:
So funktioniert das: Drupal Core überprüft den Wert von show_messages in theme_process_page. Wenn es TRUE (Standardeinstellung) ist, wird das Thema ('status_messages') wie oben beschrieben aufgerufen und der Nachrichtenspeicher geleert. Wenn Sie also dieselbe Themenfunktion später aufrufen, wird nur eine leere Zeichenfolge zurückgegeben. Wenn wir diese Variable jedoch auf FALSE setzen, wird verhindert, dass die Themenfunktion in process_page aufgerufen wird, sodass wir alle Nachrichten mit derselben Themenfunktion in einer Vorlage unserer Wahl abrufen können.
quelle
Die Antwort unter So zeigen Sie Nachrichten aus einem Block getrennt von $ messages in page.tpl.php an, auf die Sie in Ihrer Frage verwiesen haben, ist ein guter Weg. Im Wesentlichen benötigen Sie so etwas, bei dem YOURTHEME der Name Ihres Themas ist und diese Funktion in Ihrer template.php enthalten sein sollte. Ich habe diesen Code noch nicht ausgeführt, aber ich habe einen Riss drauf.
Sie sollten dann in der Lage sein, $ messages in Ihrer node.tpl.php auszugeben
quelle