अनियंत्रित सूची को थीम देने के लिए, आपको theme_menu_tree () कॉल करने की आवश्यकता है। इसे कॉल करने के लिए आप अपने टेम्पलेट को संपादित कर सकते हैं।
function THEMENAME_menu_tree__MENUNAME($variables){
return '<ul class="your-custom-class" id="your-custom-id">' . $variables['tree'] . '</ul>';
}
फिर, यदि आप अपने लिंक को थीम बनाना चाहते हैं, तो theme_menu_link () कॉल करें।
function THEMENAME_menu_link__MENUNAME($variables) {
$element = $variables['element'];
$sub_menu = '';
if ($element['#below']) {
$sub_menu = drupal_render($element['#below']);
}
$output = l($element['#title'], $element['#href'], $element['#localized_options']);
return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}
अब, ड्रुपल 7 के साथ समस्या यह है कि कस्टम मेनू के सक्रिय निशान को प्रदर्शित करने के लिए एक प्रमुख बग है।
समस्या देखें
# 520106 - डायनामिकली एक्टिव ट्रेल को सेट करने का कोई तरीका
इश्यू # 942782 - कस्टम मेन्यू कभी भी एक्टिव ट्रेल प्राप्त नहीं करता है
यदि आप कुछ सच्चे कस्टम मेनू चाहते हैं तो आप मूल रूप से भाग्य से बाहर हैं। ये मुद्दे ड्रुपल समुदाय में बहुत लंबे समय से हैं, इसलिए मुझे यकीन नहीं है कि अगर वे जल्द ही तय हो जाएंगे। मुझे नहीं पता कि क्या कुछ PHP है जो इसके साथ मदद कर सकता है। आप कार्यात्मकता को आसान बनाने में मदद करने के लिए कुछ वैकल्पिक मॉड्यूल को चालू कर सकते हैं, जैसे कि मेनू विशेषताएँ और मेनू ब्लॉक । वे दोनों ड्रुपल 7 में चरमराती मेनू प्रणाली के आसपास पहुंचने में मदद कर सकते हैं।