it-swarm.asia

أين يتم تعريف links_system_main_menu؟

لقد بحثت عن links__system_main_menu ، لكن فقط أعثر على استخدامات لهذا الموضوع. أين يتم تعريفها؟

13
hpn

دروبال 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 إذا لم يتم تحديد أي منهما.

24
keithm

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 .

11
tecjam