私は単純なモジュールを持っています:
function cabinet_menu() {
$items['cabinet'] = array(
'title' => 'cabinet',
'title callback' => 'cabinet_title',
//'title arguments' => array(1),
'page arguments' => array('cabinet_mysettings'),
'page callback' => 'cabinet_page',
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
「ページ引数」に「cabinet_mysettings」という関数を渡したい
function cabinet_mysettings() {
debug('call settings');
global $user;
$cabinet = user_load($user->uid);
return $cabinet;
}
function cabinet_page($cabinet) {
debug($cabinet);
}
「cabinet_page」デバッグでは、文字列「cabinet_mysettings」のみが表示されます。
ページの引数が関数名ではなく文字列であることをメニュー フックが認識しないのはなぜですか?
UPD: 開発モジュール hook_menu:
$items['devel/reinstall'] = array(
'title' => 'Reinstall modules',
'page callback' => 'drupal_get_form',
'page arguments' => array('devel_reinstall'),
'description' => 'Run hook_uninstall() and then hook_install() for a given module.',
'access arguments' => array('access devel information'),
'file' => 'devel.pages.inc',
'menu_name' => 'devel',
);
「devel_reinstall」は関数だと思います。
そのようなコールバックがどのように機能するか知っている人はいますか?