J'ai cherché links__system_main_menu
, mais je trouve juste les usages de ce thème. Où est-il défini?
Drupal 7 core ne définit pas réellement cette fonction.
links__system_main_menu
est un motif de crochet de thème du formulaire [base hook]__[context]
. Lorsque les liens ont pour thème theme('links__system_main_menu', $vars)
, theme()
recherchera et utilisera theme_links__system_main_menu()
s'il a été défini. Sinon, il utilisera theme_links()
.
Voir theme () pour la documentation officielle de ce comportement. Le chapitre 3 du développement du module Drupal 7 fait un excellent travail pour expliquer cela et fournit plusieurs exemples.
BTW, le même principe s'applique aux fichiers de modèle. Si, par exemple, nous appelons theme('node__article__1', $vars)
, theme()
recherchera un node--article--1.tpl.php
fichier, puis recherchera node--article.tpl.php
finalement node.tpl.php
si aucun d'eux n'est défini.
theme_links__system_main_menu()
n'est pas actuellement défini à partir de Drupal, mais Drupal l'utilisera MYTHEME_links__system_main_menu()
si vous le définissez dans votre thème.
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;
}
Vous pouvez trouver plus d'informations sur http://drupal.org/node/1033442#comment-5076932 .