1

を使用してモジュールに非常に単純なページを作成しようとしていますhook_menu()が、テストした後、「このページへのアクセスは許可されていません」というメッセージが表示されます。何が間違っているのか理解できません。以下は私が使用したコードです。

このモジュールは、既存のモジュールパッケージの下に作成したことに注意してください。たとえば、モジュールフォルダーはxyzで、モジュール用にxyz_mobileとしてフォルダーを作成し、情報にパッケージとしてxyzを追加しました。それがそれと関係があるかどうかはわかりません。

function xyz_mobile_menu() {
  $items['mobile'] = array(
    'title' => 'page test',
    'access callback' => TRUE,
    'type' => MENU_CALLBACK,
  );

  return $items; 
}
4

1 に答える 1

1

ここでは Drupal 6 を想定しています。$items 配列に「アクセス引数」要素と「ページ コールバック」要素が必要です。

function mymodule_menu() {
    $items = array();

    $items['mobile'] = array(
          'title' => 'page test', 
          'page callback' => 'mymodule_my_function',
          'access callback' => 'user_access',
          'access arguments' => array('access content'), // or another permission
          'type' => MENU_CALLBACK,
    );

    return $items;
}

「access callback」要素には、ユーザーが「access arguments」要素で指定された権限を持っているかどうかをチェックする関数の名前 (この場合はuser_access ) が含まれています。

「ページ コールバック」要素は、カスタム関数を実行します。

function mymodule_my_function() {
    return 'this is the test page';
}

最後に、再テストする前にメニュー キャッシュをクリアすることを忘れないでください。

于 2011-08-24T21:53:28.000 に答える