Jawaban:
Inti Drupal 7 sebenarnya tidak mendefinisikan fungsi ini.
links__system_main_menu
adalah pola kait tema bentuk [base hook]__[context]
. Ketika tautan bertema theme('links__system_main_menu', $vars)
, theme()
akan mencari dan menggunakan theme_links__system_main_menu()
jika sudah ditentukan. Jika tidak, itu akan digunakan theme_links()
.
Lihat tema () untuk dokumentasi resmi perilaku ini. Bab 3 dari Drupal 7 Pengembangan Modul melakukan pekerjaan yang sangat baik untuk menjelaskan hal ini dan memberikan beberapa contoh.
BTW, prinsip yang sama berlaku untuk file templat. Jika, misalnya, kami panggil theme('node__article__1', $vars)
, theme()
akan mencari node--article--1.tpl.php
file, dan kemudian node--article.tpl.php
, akhirnya jatuh kembali ke node.tpl.php
jika tidak ada yang ditentukan.
theme_links__system_main_menu()
saat ini tidak didefinisikan dari Drupal, tetapi Drupal akan menggunakan MYTHEME_links__system_main_menu()
, jika Anda mendefinisikannya dalam tema Anda.
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;
}
Anda dapat menemukan lebih banyak info di http://drupal.org/node/1033442#comment-5076932 .