Wie kann ich in Drupal 7 das Rendern von Menüs in template.php abfangen und Pipes nach Menüverknüpfungen hinzufügen?
Ich habe versucht, template_preprocess_menu_tree zu verwenden, aber ich glaube nicht, dass ich danach suche. Ich möchte die HTML-Struktur einiger Menüs ändern.
function MODULE_preprocess_menu_link(&$variables)
. PS: Ich werde dies auch als separate Frage stellen.Antworten:
theme_menu_link () hat es geschafft. Es enthält ein Array unter dem Element
#original_link
, dessen Menüname darin enthalten ist. Auf diese Weise kann ich bestimmten Menüs durch Pipe getrennte Links hinzufügen.http://api.drupal.org/api/drupal/includes--menu.inc/function/theme_menu_link/7
quelle
Dies kann hilfreich sein. Sie können Vorverarbeitungsfunktionen verwenden, um den Menülink zu ändern oder etwas hinzuzufügen.
In diesem Code wird jedem Navigationslinkelement eine Spanne hinzugefügt.
quelle
Persönlich würde ich die Pipe nur mit CSS hinzufügen - Sie möchten die Pipes nicht wirklich in Ihrem Markup haben, da sie rein präsentativ sind:
quelle
Menüs sind mit der Funktion theme_links thematisiert. Sie möchten eine Kopie in Ihrem [Themenordner] /MYTHEME/template.php erstellen und in MYTHEME_links umbenennen. Die Standardfunktion für Drupal 7 finden Sie unter: http://api.drupal.org/api/drupal/includes--theme.inc/function/theme_links/7
Jetzt können Sie anpassen, wie die Menüs in der Datei template.php aussehen.
quelle
Ich empfehle dafür ein Plugin zu verwenden. Vollständiges Tutorial hier: Erstellen Sie einen Menülink mit HTML-Markup in Drupal 8
quelle