Ich suche nach der besten Möglichkeit, beliebigen HTML-Inhalt vor dem schließenden Body-Tag in eine Seite einzufügen, ähnlich wie drupal_add_js()
JavaScript am Ende einer Seite hinzugefügt wird.
Ich komme aus einem Wordpress-Hintergrund, und in Wordpress könnte dies mithilfe des wp_footer()
Hooks erreicht werden.
Ich habe mich mit der Verwendung befasst hook_page_alter()
, aber ich habe mich gefragt, ob dies der richtige Weg ist oder ob es einen besseren Weg gibt, diese Aufgabe zu erfüllen.
Antworten:
Das Äquivalent von hook_footer () , das in Drupal 6 verwendet wurde, besteht darin, hook_page_build () zu implementieren und den Inhalt von zu ändern
$page['page_bottom']
, indem Code verwendet wird, der dem folgenden ähnlich ist:Der Inhalt von
$page['page_bottom']
wird aus html.tpl.php unter Verwendung des folgenden Codes ausgegeben :Der Wert von
$page_bottom
wird aus template_process_html () mit dem folgenden Code initialisiert :Der Unterschied zwischen hook_page_alter () und
hook_page_build()
besteht darin, dass erhook_page_alter()
ausgeführt wirdhook_page_build()
und zum Ändern oder Entfernen von Inhalten verwendet werden sollte, die von einem anderen Modul hinzugefügt wurden, währendhook_page_build()
zum Hinzufügen neuer Inhalte zur Seite verwendet werden sollte.quelle