2011-03-02 2 views
5

탐색 링크를 자동으로 렌더링하지 않는 드루팔 (Drupal)에서 새로운 경로/메뉴를 만들려면 어떻게해야합니까?드루팔 (Drupal 7 : 사이트에 나타나지 않는 메뉴/경로 항목을 만드는 법

탐색 메뉴에 표시되지 않는 간단한 페이지 콜백을 Drupal에서 만들려고합니다.

모듈이 helloworld입니다.

.module 파일에는 다음이 포함되어 성공적으로

http://example.drupal.com/helloworld 

그러나, 난 여전히 왼쪽에있는 링크를 얻고있다의 사이트의 URL을 노출이

function _helloword_page_callback() 
{ 
    return array('#markup'=>'The quick brown fox says hello, and the lazy dogs thanks you 
    for following conventions.'); 
} 

function helloworld_menu() 
{ 
    $items['helloworld'] = array(
     'title'    => 'Hello World', 
     'page callback'  => '_helloword_page_callback', 
     'access arguments' => array('content'), 
     'type'    => MENU_CALLBACK 
    ); 
    return $items; 
} 

(Bartik) 내비게이션 메뉴 사용시에도 불구하고

'type'    => MENU_CALLBACK 

그럼 왜이 기능이 작동하지 않습니까? 메뉴 항목을 올바르게 구성합니까? 가능성이있는 질문 : 메뉴 유형 상수/시스템의 사용을 어떻게 잘못 해석합니까? 이를 지우기위한 추가적인 캐시가 있습니까?

drush cc all 

이 디버깅을 위해 취할 수있는 다른 단계는 무엇입니까?

답변

5

Bartik을 사용해도 예상대로 작동하기 때문에 다른 점이있을 것입니다 (아마도 캐시를 지우는 것을 잊었을 것입니다).

function helloworld_menu(){ 
    return array(
     'hello1' => array(
      'title'    => 'Hello 1', 
      'page callback'  => 'helloworld_page_callback', 
      'access arguments' => array('content'), 
      'type'    => MENU_CALLBACK 
     ), 
     'hello2' => array(
      'title'    => 'Hello 2', 
      'page callback'  => 'helloworld_page_callback', 
      'access arguments' => array('content') 
     ) 
    ); 
} 

function helloworld_page_callback(){ 
    return array('#markup'=>'The quick brown fox says hello, and the lazy dogs thanks you for following conventions.'); 
} 
그런데

, 당신의 snipplet에 오타 (helloroute_menuhelloworld_menu을 지정해야합니다)이 있지만이 때문에 가정 : 그 예에서, 단지 "안녕하세요 2"내비게이션에 표시됩니다 StackOverflow에 게시하기 전에 코드 단순화.

+0

오타를 수정하십시오. 감사합니다. –

+0

정보를 제공해 주셔서 감사합니다. 그 어딘가에 확실히 캐시. 내 경로를 다른 이름 (helloworld에서 helloworld2)으로 변경하면 새 경로에 다른 이름이없는 메뉴가 메뉴에 포함됩니다. 그것은 기본 탐색 링크가있는 메뉴 항목이 있고 작동하지 않는 것으로 변경하려고 할 때만입니다. (심지어 drush의 cc에 대한 호출과 함께, 이것은 또 다른 질문이다). 정신 건강 체크 주셔서 감사합니다! –

+0

당신은 환영합니다 :) 그리고 btw, 재밌는 "빠른 갈색 여우"필러 텍스트, 나는 보통의 인용문이 아니라는 것을 처음에는 알아 차리지 못했습니다. D – wildpeaks

4

메뉴 관리에서 메뉴 링크를 확인하십시오. 거기에 사용자 정의한 경우 (예 : 체중 변경), 콜백으로 입력하도록 설정해도 남아있을 수 있습니다.

그럴 경우 삭제하면됩니다.

+0

+1 (언제나 그렇듯이) 좋은 정보입니다. 그것은 비록 캐싱 것 같아. –