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;
}
그런 다음과 같은 경로가있는 메뉴 항목을 사용하여 sites / d8 / files 폴더 (및 하위 폴더)에 파일을 제공 할 수 있습니다 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"
. 브라우저 (적어도 Safari)는로 해석하고 href="http://sites/d8/files/Documents/MyFile.pdf"
"sites"라는 서버를 찾지 못했습니다.
(추가 조사에서 menu_tail을 사용하는 코드가 실패하는 이유는 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 )
(새 모듈을 활성화하는 것을 잊지 마십시오. 그렇지 않으면 메뉴 시스템이 새 링크를 허용하지 않습니다)