Drupal 7 Hook_menu アクセス コールバックが正しいブール値を返さない。
始める前に。はい!キャッシュがクリアされました...たくさん。
テスト用に簡単な関数を実装しました。
$items['tutor_review_selection'] = array(
'title' => t('example'),
'page callback' => 'my_module_example_page',
'access callback' => my_module_access( array('administrator') ),
'type' => MENU_NORMAL_ITEM
);
function my_module_access( $roles ) {
global $user;
$check = array_intersect($roles, array_values($user->roles));
return empty( $check ) ? FALSE : TRUE;
}
これは、ログインしているユーザーとログアウトしているユーザーに対して TRUE を返します。
重要な部分は次のとおりです。
「my_module_example_page」関数で「my_module_access」関数を呼び出すと、正しく動作します。
アクセスコールバックでこれが機能しない理由を誰かが明らかにすることはできますか?
たぶん、操作の順序に関係がありますか?
キャッシュがクリアされます。