Risposte:
Drupal 7 core in realtà non definisce questa funzione.
links__system_main_menu
è un modello a gancio del tema del modulo [base hook]__[context]
. Quando i collegamenti sono a tema theme('links__system_main_menu', $vars)
, theme()
cercherà e utilizzerà theme_links__system_main_menu()
se è stato definito. In caso contrario, utilizzerà theme_links()
.
Vedi tema () per la documentazione ufficiale di questo comportamento. Il capitolo 3 dello sviluppo del modulo Drupal 7 fa un ottimo lavoro nel spiegarlo e fornisce diversi esempi.
A proposito, lo stesso principio si applica ai file modello. Se, ad esempio, chiamiamo theme('node__article__1', $vars)
, theme()
cercheremo un node--article--1.tpl.php
file, e poi node--article.tpl.php
, infine, torneremo a node.tpl.php
se nessuno dei due è definito.
theme_links__system_main_menu()
non è attualmente definito da Drupal, ma Drupal utilizzerà MYTHEME_links__system_main_menu()
, se lo definisci nel tuo tema.
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;
}
Puoi trovare qualche informazione in più su http://drupal.org/node/1033442#comment-5076932 .