la risposta di kiamlaluno non ha funzionato del tutto per me. L'uso di% menu_tail ha prodotto una tempesta di errori che la funzione menu_tail_load stava avendo problemi con argomenti mancanti:
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).
Ciò che ha funzionato per me è stato
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;
}
Quindi, potrei servire i file nella cartella siti / d8 / files (e sottocartelle) usando voci di menu con percorsi come sites/d8/files/Documents/MyFile.pdf
Il sistema di menu genererà quindi un collegamento simile href="https://drupal.stackexchange.com/sites/d8/files/Documents/MyFile.pdf"
Se non si utilizza il modulo di menu personalizzato, il sistema di menu rifiuterà un percorso che inizia come sopra.
Se si tenta di utilizzare un percorso simile http:sites/d8/files/Documents/MyFile.pdf
, verrà prodotto un collegamento simile href="http:sites/d8/files/Documents/MyFile.pdf"
, che funzionerà quando ci si trova nella radice del sito, ma quando ci si trova in una pagina di contenuto, il browser interpreterà l'URL relativo alla pagina di contenuto, e non funzionerà.
Se si utilizza un percorso simile http:/sites/d8/files/Documents/MyFile.pdf
, il sistema di menu lo accetterà, ma il sistema di menu produrrà un collegamento simile href="http:/sites/d8/files/Documents/MyFile.pdf"
, che il browser (almeno Safari) interpreterà href="http://sites/d8/files/Documents/MyFile.pdf"
e non riuscirà a trovare il server denominato "siti".
(Per ulteriori indagini, il motivo per cui il codice che utilizza menu_tail non riesce è che è necessario aggiungere gli 'argomenti di caricamento', come indicato qui: http://api.drupal.org/api/drupal/includes--menu.inc/function / menu_tail_load / 7. Se aggiungi 'load arguments' => array('%map', '%index'),
la definizione di $ items nel codice di kiamlaluno, funzionerà. La questione se menu_tail_load debba richiedere gli argomenti di caricamento esplicito è anche discussa qui: http://drupal.org/node/298561 )
(Non dimenticare di abilitare il tuo nuovo modulo, altrimenti il sistema di menu non accetterà i nuovi collegamenti)