जवाबों:
Drupal 7 कोर वास्तव में इस फ़ंक्शन को परिभाषित नहीं करता है।
links__system_main_menu
फॉर्म का एक थीम हुक पैटर्न है [base hook]__[context]
। जब लिंक के साथ थीम्ड किया जाता है theme('links__system_main_menu', $vars)
, theme()
खोज और उपयोग करेगा theme_links__system_main_menu()
यदि यह परिभाषित किया गया है। यदि नहीं, तो यह उपयोग करेगा theme_links()
।
इस व्यवहार के आधिकारिक प्रलेखन के लिए विषय () देखें । Drupal 7 का अध्याय 3 मॉड्यूल विकास इसे समझाने का एक उत्कृष्ट काम करता है और कई उदाहरण प्रदान करता है।
BTW, एक ही सिद्धांत टेम्पलेट फ़ाइलों पर लागू होता है। यदि, उदाहरण के लिए, हम कॉल करते हैं 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 पर प्राप्त कर सकते हैं ।