kiamlaluno का जवाब मेरे लिए काफी काम का नहीं था। % Menu_tail का उपयोग करने से त्रुटियों का एक तूफान उत्पन्न हुआ, जो menu_tail_load फ़ंक्शन को लापता तर्कों के साथ समस्या हो रही थी:
Warning: Missing argument 2 for menu_tail_load(), called in ... /includes/menu.inc on line 579 and defined in menu_tail_load() (line 827 of ... /includes/menu.inc).
Warning: Missing argument 3 for menu_tail_load(), called in ... /includes/menu.inc on line 579 and defined in menu_tail_load() (line 827 of ... /includes/menu.inc).
मेरे लिए क्या काम था
function allow_menu_links_menu() {
$items = array();
$items['sites/d8/files/%'] = array(
'title' => 'Folder Content',
'page callback' => 'allow_menu_links_cb', /* never called */
'access callback' => TRUE,
);
return $items;
}
उसके बाद, मैं साइटों / d8 / फ़ाइलें फ़ोल्डर (और सबफ़ोल्डर) में पथ के साथ मेनू आइटम का उपयोग करके फ़ाइलों की सेवा कर सकता हूं sites/d8/files/Documents/MyFile.pdf
मेनू सिस्टम फिर एक लिंक उत्पन्न करेगा href="https://drupal.stackexchange.com/sites/d8/files/Documents/MyFile.pdf"
यदि आप कस्टम मेनू मॉड्यूल का उपयोग नहीं करते हैं, तो मेनू सिस्टम ऊपर के रूप में शुरू होने वाले मार्ग को अस्वीकार कर देगा।
यदि आप किसी पथ का उपयोग करने का प्रयास करते हैं http:sites/d8/files/Documents/MyFile.pdf
, तो यह एक लिंक का उत्पादन करेगा href="http:sites/d8/files/Documents/MyFile.pdf"
, जो तब काम करेगा जब आप साइट के मूल में होंगे, लेकिन जब आप किसी सामग्री पृष्ठ पर होंगे, तो ब्राउज़र सामग्री पृष्ठ के सापेक्ष url की व्याख्या करेगा, और यह काम नहीं करेगा।
यदि आप जैसे किसी पथ का उपयोग करते हैं http:/sites/d8/files/Documents/MyFile.pdf
, तो मेनू सिस्टम इसे स्वीकार करेगा, लेकिन मेनू सिस्टम एक लिंक का उत्पादन करेगा href="http:/sites/d8/files/Documents/MyFile.pdf"
, जिसे ब्राउज़र (कम से कम सफारी) के रूप में व्याख्या करेगा href="http://sites/d8/files/Documents/MyFile.pdf"
, और "साइटों" नामक सर्वर को खोजने की कोशिश करने में विफल रहेगा।
(आगे की जाँच करने पर, मेनू_ कोड विफल होने का कारण यह है कि आपको 'लोड तर्क' जोड़ने की आवश्यकता है, जैसा कि यहाँ उल्लेख किया गया है: http://api.drupal.org/api/drupal/includes--menu.inc/function / menu_tail_load / 7। यदि आप 'load arguments' => array('%map', '%index'),
kiamlaluno के कोड में $ आइटम की परिभाषा में जोड़ते हैं, तो यह काम करेगा। क्या menu_tail_load को स्पष्ट लोड तर्कों की आवश्यकता है, इस मुद्दे पर भी यहां चर्चा की गई है: http://drupal.org/node/298561 )
(अपने नए मॉड्यूल को सक्षम करने के लिए मत भूलना, या मेनू सिस्टम नए लिंक को स्वीकार नहीं करेगा)