2012-01-27 6 views
1

사용자 정의 모듈에 대해 7.4에서 7.10으로 업그레이드 한 후 hook_menu 구현이 더 이상 작동하지 않는 이유를 파악하려고합니다. 메뉴 링크가 최신 버전으로 업데이트 될 때까지 제대로 작동하고있었습니다. 업데이트 후 모든 사용자 정의 모듈 링크가 menu_links 및 menu_router 테이블에서 삭제됩니다.드루팔 (Drupal 7 .10 hook_menu 구현 오류

많은 시도 끝에 D7.10 용 새 버전을 설치하고 테스트 용도로만 하나의 항목 링크 (아래 코드 참조)가있는 간단한 사용자 정의 모듈을 만들었습니다. 모듈이 활성화되면 링크가 구현되지 않습니다. 테이블 menu_links 및 menu_routers는 업데이트되지 않습니다. 저는 여러 가지 가능한 오류와 해결책을 찾고있었습니다. 성공하지 못했습니다. 지금 실제로 쌓습니다. 내가 의심 스러울 이유는 다른 사람들이 같은 문제를 안고 있다는 것입니다. 이 라인의 모습에서 당신에게

function misite_menu() { 
$items = array(); 
$items['a/main'] = array(
'title' => 'main', 
'page callback' => 'main', 
'description' => t('Main front page'), 
'access callback' => TRUE, 
); 
return $items; 
} 

function misite_theme() { 
return array(
'main' => array 
(
    'template' => 'main', 
    'variables' => array('title' => NULL), 
), 

); 
} 

function main() { 

$path = drupal_get_path('module', 'a'); 
$title = t(''); 
$build['mainelement'] = array(
'#theme' => 'main', 
'#title' => $title, 
); 
$output = drupal_render($build); 
return $output; 
} 

답변

1

감사합니다

$path = drupal_get_path('module', 'a'); 

모듈이 a이라고합니다.

Drupal에서 후크 명명 규칙은 MODULE_NAME_name_of_hook()입니다 (http://api.drupal.org/api/drupal/includes--module.inc/group/hooks/7 참조).

모듈 라는 a 당신의 기능 이름 a_menu()a_theme()해야합니다 경우이 너무 귀하의 경우 모두 hook_menu()hook_theme() 마찬가지입니다.

후크를 변경하는 경우 Drupal의 캐시를 지워서 관련 레지스트리가 업데이트되도록하십시오.

+0

안녕하세요. 내 문제를 해결했다. 그러나 여전히 코드가있는 이유를 알아낼 수 없습니다. V 7.4에서는 registery에 문제없이 잘 작동했습니다. 대단히 감사합니다. – arnaudom