Di mana didefinisikan links__system_main_menu?


13

Saya mencari links__system_main_menu, tetapi hanya menemukan penggunaan tema ini. Di mana itu didefinisikan?

Jawaban:


24

Inti Drupal 7 sebenarnya tidak mendefinisikan fungsi ini.

links__system_main_menuadalah 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.phpfile, dan kemudian node--article.tpl.php, akhirnya jatuh kembali ke node.tpl.phpjika tidak ada yang ditentukan.


11

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 .

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.