私が理解していることから、私の問題は、私が(というより、私のクライアントが)Drupal の古いバージョン、具体的には Core 6.26 を実行していることです。追加の仕様に興味がある場合は、喜んで開示します。
というわけで、次のメニューフックを備えた新しいモジュールを作成しました。
function checkin_menu(){
$items = array();
$items['checkin'] = array(
'title' => 'Checkin'
,'type' => MENU_CALLBACK
,'access arguments' => array('checkin')
,'page callback' => 'checkin'
);
}
許可は、私が期待したものを正確にリストしました。.info ファイルで指定されているモジュールの名前と同じ「Checkin」というセクションと、「checkin」にパーミッションを与える 1 つの項目がありました。
後で、モジュールを拡張して、2 つの異なるパスを持つようにしました。2 つ目は管理者専用です。
function checkin_menu(){
$items = array();
$items['checkin'] = array(
'title' => 'Checkin'
,'type' => MENU_CALLBACK
,'access arguments' => array('create a checkin')
,'page callback' => 'checkin'
);
$items['checkin_admin'] = array(
'title' => 'Checkin Admin'
,'type' => MENU_CALLBACK
,'access arguments' => array('view all checkins')
,'page callback' => 'device_checkin_page'
);
return $items;
}
驚いたことに、「チェックインの作成」も「すべてのチェックインの表示」も表示されません。権限ページに元の「チェックイン」が表示されています。ここ数日、答えを探しています。男を助ける?