J'ai recherché links__system_main_menu
, mais il suffit de trouver les utilisations 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 de la forme [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 de Développement du module Drupal 7 fait un excellent travail d'explication 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 fichier node--article--1.tpl.php
, Puis node--article.tpl.php
, Pour finalement retomber sur 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 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 .