1

カスタム モジュールのメニュー リンクを 7.4 から 7.10 にアップグレードした後、hook_menu の実装が機能しなくなった理由を突き止めようとしています。更新後、すべてのカスタム モジュール リンクがテーブル menu_links および menu_router から削除されます。

何度も試みた後、D7.10 の新しいバージョンもインストールし、テスト目的でのみ 1 つの項目リンクのみ (以下のコードを参照) を持つ単純なカスタム モジュールを作成しました。モジュールが有効になると、リンクは実装されません。テーブル 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;
}
4

1 に答える 1

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を参照)。

これは両方hook_menu()に当てはまるためhook_theme()、モジュール呼び出される場合a、関数は名前a_menu()a_theme().

フックを変更する場合は、Drupal のキャッシュをクリアして、関連するレジストリが更新されるようにしてください。

于 2012-01-28T02:23:31.183 に答える