لقد بحثت عن links__system_main_menu
، لكن فقط أعثر على استخدامات لهذا الموضوع. أين يتم تعريفها؟
دروبال 7 كور لا يحدد هذه الوظيفة في الواقع.
links__system_main_menu
هو نمط ربط السمة للنموذج [base hook]__[context]
. عندما تكون الروابط تحت عنوان theme('links__system_main_menu', $vars)
، theme()
سيبحث عن theme_links__system_main_menu()
ويستخدمه إذا تم تعريفه. إذا لم يكن كذلك ، فسيستخدم theme_links()
.
انظر theme () للاطلاع على التوثيق الرسمي لهذا السلوك. الفصل 3 من تطوير وحدة دروبال 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 .