Ich weiß, dass es in Drupal 6 gibt: theme_menu_item , aber in Drupal 7 gibt es keine. Gibt es Ersetzungen, damit ich die Ausgabe für das Hauptsystemmenü ändere?
Eigentlich möchte ich eine Art Filter der Menüpunkte in Abhängigkeit von einigen Kriterien machen, die ich in der Funktion einstellen werde.
Antworten:
Mit Blick auf die Funktion , dass das Thema Funktion aufgerufen
theme_menu_item()
( menu_tree_output () ), und es mit dem Drupal 7 Version der gleichen Funktion zu vergleichen, kann ich sagen , dass das Äquivalenttheme_menu_item()
ist theme_menu_link () .quelle
function mytheme_menu_link(array $variables)
intemplate.php
Datei von meinem Thema, aber es hat keinen Einfluss auf Menü. Ich habe mit Debugger überprüft und die Funktion wird nicht von Drupal verarbeitet, so wie er diesen Hook nicht erkennt ...theme_menu_link()
ist kein Haken, sondern eine Themenfunktion . Die Theme-Implementierung muss mithilfe von registriert werdenhook_theme()
, wie in Standard-Theme-Implementierungen angegeben .hook_theme()
. Standardmäßig werden Standardimplementierungen von Theme-Hooks benannttheme_HOOK
. Standardvorlagenimplementierungen werden im Modulverzeichnis gespeichert. "Die Funktion theme_menu_item () wurde durch theme_menu_link () ersetzt . Ausführliche Informationen zu dieser Änderung und allen anderen Änderungen, die zwischen Drupal 6 und 7 an der Designebene vorgenommen wurden, finden Sie auf der Seite Konvertieren von 6.x-Designs in 7.x. Es gibt auch eine entsprechende Modulkonvertierungsseite .
quelle