Câu trả lời của kiamlaluno không hoàn toàn phù hợp với tôi. Việc sử dụng% menu_tail đã tạo ra một cơn bão lỗi mà hàm menu_tail_load gặp vấn đề với các đối số bị thiếu:
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).
Những gì đã làm cho tôi là
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;
}
Sau đó, tôi có thể phục vụ các tệp trong thư mục site / d8 / files (và thư mục con) bằng cách sử dụng các mục menu với các đường dẫn như sites/d8/files/Documents/MyFile.pdf
Hệ thống menu sau đó sẽ tạo ra một liên kết như href="/drupal//sites/d8/files/Documents/MyFile.pdf"
Nếu bạn không sử dụng mô-đun menu tùy chỉnh, hệ thống menu sẽ từ chối một đường dẫn bắt đầu như trên.
Nếu bạn cố gắng sử dụng một đường dẫn như thế http:sites/d8/files/Documents/MyFile.pdf
, nó sẽ tạo ra một liên kết nhưhref="http:sites/d8/files/Documents/MyFile.pdf"
, nó sẽ hoạt động khi bạn ở gốc của trang web, nhưng khi bạn ở trên một trang nội dung, trình duyệt sẽ diễn giải url liên quan đến trang nội dung, và nó sẽ không hoạt động.
Nếu bạn sử dụng một đường dẫn như thế http:/sites/d8/files/Documents/MyFile.pdf
, hệ thống menu sẽ chấp nhận nó, nhưng hệ thống menu sẽ tạo ra một liên kết giống như href="http:/sites/d8/files/Documents/MyFile.pdf"
trình duyệt (ít nhất là Safari) sẽ hiểu là href="http://sites/d8/files/Documents/MyFile.pdf"
và không thể tìm thấy máy chủ có tên là "các trang web".
(Khi điều tra thêm, lý do mã sử dụng menu_tail không thành công là bạn cần thêm 'đối số tải', như đã lưu ý ở đây: http://api.drupal.org/api/drupal/includes--menu.inc/feft / menu_tail_load / 7 Nếu bạn thêm. 'load arguments' => array('%map', '%index'),
định nghĩa của $ items trong mã kiamlaluno, nó sẽ làm việc các vấn đề liệu menu_tail_load nên yêu cầu các đối số tải rõ ràng cũng sẽ được thảo luận ở đây:. http://drupal.org/node/298561 )
(Đừng quên bật mô-đun mới của bạn hoặc hệ thống menu sẽ không chấp nhận các liên kết mới)