Ich habe gesucht links__system_main_menu
, aber nur Verwendungen dieses Themas gefunden. Wo ist es definiert?
Drupal 7 Core definiert diese Funktion nicht.
links__system_main_menu
ist ein thematisches Hakenmuster des Formulars [base hook]__[context]
. Wenn Links mit einem Thema versehen sind theme('links__system_main_menu', $vars)
, theme()
wird gesucht und verwendet, theme_links__system_main_menu()
falls dies definiert wurde. Wenn nicht, wird es verwendet theme_links()
.
Siehe theme () für die offizielle Dokumentation dieses Verhaltens. Kapitel 3 der Modulentwicklung von Drupal 7 bietet eine hervorragende Erklärung und enthält mehrere Beispiele.
Übrigens gilt das gleiche Prinzip für Vorlagendateien. Wenn wir zum Beispiel anrufen theme('node__article__1', $vars)
, theme()
suchen wir nach einer node--article--1.tpl.php
Datei und greifen node--article.tpl.php
schließlich auf zurück, node.tpl.php
wenn keine von beiden definiert ist.
theme_links__system_main_menu()
ist derzeit nicht in Drupal definiert, wird aber von Drupal verwendet MYTHEME_links__system_main_menu()
, wenn Sie es in Ihrem Thema definieren.
function MYTHEME_links__system_main_menu($variables) {
$html = "<div>\n";
$html .= " <ul>\n";
foreach ($variables['links'] as $link) {
$html .= "<li>".l($link['title'], $link['path'], $link)."</li>";
}
$html .= " </ul>\n";
$html .= "</div>\n";
return $html;
}
Weitere Informationen finden Sie unter http://drupal.org/node/1033442#comment-5076932 .