Відповіді:
Drupal 7 core фактично не визначає цю функцію.
links__system_main_menu
- це тематичний гачок форми форми [base hook]__[context]
. Коли посилання тематизовані theme('links__system_main_menu', $vars)
, theme()
буде шукати та використовувати, theme_links__system_main_menu()
якщо він був визначений. Якщо ні, то він використовуватиме theme_links()
.
Дивіться тему () для офіційної документації такої поведінки. Розділ 3 розробки модулів Drupal 7 чудово пояснює це і наводить кілька прикладів.
До речі, той же принцип стосується файлів шаблонів. Якщо, наприклад, ми зателефонували theme('node__article__1', $vars)
, theme()
буде шукати node--article--1.tpl.php
файл, а потім node--article.tpl.php
, нарешті, переходить до того, node.tpl.php
якщо жоден з них не визначений.
theme_links__system_main_menu()
наразі не визначено з Drupal, але Drupal використовуватиме його MYTHEME_links__system_main_menu()
, якщо визначити його у своїй темі.
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;
}
Додаткову інформацію можна знайти на http://drupal.org/node/1033442#comment-5076932 .