kiamlaluno'nun cevabı benim için pek işe yaramadı. % Menu_tail kullanımı, menu_tail_load işlevinin eksik argümanlarla ilgili sorun yaşadığına dair bir hata fırtınası oluşturdu:
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).
Benim için ne işe yaradı
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;
}
Ardından, sites / d8 / files klasöründeki dosyaları (ve alt klasörleri), sites/d8/files/Documents/MyFile.pdf
Menü sistemi daha sonra aşağıdaki gibi bir bağlantı oluşturur: href="https://drupal.stackexchange.com/sites/d8/files/Documents/MyFile.pdf"
Özel menü modülünü kullanmazsanız, menü sistemi yukarıdaki gibi başlayan bir yolu reddeder.
Gibi bir yol kullanmaya çalışırsanız , sitenin kökünde olduğunuzda çalışacak http:sites/d8/files/Documents/MyFile.pdf
gibi bir bağlantı üretecektir href="http:sites/d8/files/Documents/MyFile.pdf"
, ancak bir içerik sayfasında olduğunuzda, tarayıcı URL'yi içerik sayfasına göre yorumlayacaktır, ve işe yaramaz.
Gibi bir yol kullanırsanız http:/sites/d8/files/Documents/MyFile.pdf
, menü sistemi bunu kabul eder, ancak menü sistemi href="http:/sites/d8/files/Documents/MyFile.pdf"
, tarayıcının (en azından Safari) olarak yorumlayacağı href="http://sites/d8/files/Documents/MyFile.pdf"
ve "siteler" adlı sunucuyu bulmaya çalışmayan bir bağlantı üretir .
(Daha fazla araştırmada, menu_tail kullanan kodun başarısız olmasının nedeni, burada belirtildiği gibi 'yükleme argümanlarını' eklemeniz gerektiğidir: http://api.drupal.org/api/drupal/includes--menu.inc/function / menu_tail_load / 7.'load arguments' => array('%map', '%index'),
Kiamlaluno kodunda $ item tanımına eklerseniz , işe yarayacaktır menu_tail_load öğesinin açık yükleme bağımsız değişkenleri gerektirip gerektirmediği konusu burada da tartışılmaktadır: http://drupal.org/node/298561 )
(Yeni modülünüzü etkinleştirmeyi unutmayın, aksi takdirde menü sistemi yeni bağlantıları kabul etmez)