Respostas:
O núcleo do Drupal 7 não define realmente essa função.
links__system_main_menu
é um padrão de gancho de tema do formulário [base hook]__[context]
. Quando os links são temáticos theme('links__system_main_menu', $vars)
, theme()
procurará e usará theme_links__system_main_menu()
se tiver sido definido. Caso contrário, ele será usado theme_links()
.
Veja theme () para a documentação oficial deste comportamento. O Capítulo 3 do Drupal 7 Module Development faz um excelente trabalho ao explicar isso e fornece vários exemplos.
BTW, o mesmo princípio se aplica aos arquivos de modelo. Se, por exemplo, chamarmos theme('node__article__1', $vars)
, theme()
procuraremos um node--article--1.tpl.php
arquivo e, em seguida node--article.tpl.php
, voltaremos finalmente a node.tpl.php
se nenhum deles estiver definido.
theme_links__system_main_menu()
não está atualmente definido no Drupal, mas o Drupal o usará MYTHEME_links__system_main_menu()
, se você o definir no seu 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;
}
Você pode encontrar mais informações em http://drupal.org/node/1033442#comment-5076932 .