我在drupal中访问回调有问题。
我有一个页面,只能访问那些id在表格中的用户。
PHP
function niiar5c_menu()
{
// Blank5c
$items['blank5c/add'] = array(
'title' => 'Бланк 5С',
'page callback' => 'drupal_get_form',
'page arguments' => array('module_blankadd'),
'file' => 'modul.pages.inc',
'access callback' => 'module_access',
'access arguments' => array(1),
'type' => MENU_LOCAL_TASK,
'weight' => 2,
);
return $items;
}
function module_access () {
global $user;
$uuid = $user->uid;
$nids = db_select('whoboss', 'n')
->fields('n', array('name'))
->execute()
->fetchCol();
if (in_array($uuid, $nids)){
return TRUE;} else return FALSE;
}
但功能' module_access'不会返回真或假。
function module_access () {
return TRUE;
}
在访问回调中,它没有返回TRUE' 在页面"您无权访问此页面。"
答案 0 :(得分:0)
我可以看到你提供的访问参数为array(1)。但是您的访问回调函数不包含任何参数。
您可以在访问回调函数中定义函数参数。但我不知道你的情况是否相关。从hook_menu中删除access参数并重试,如下所示
function niiar5c_menu()
{
// Blank5c
$items['blank5c/add'] = array(
'title' => 'Бланк 5С',
'page callback' => 'drupal_get_form',
'page arguments' => array('module_blankadd'),
'file' => 'modul.pages.inc',
'access callback' => 'module_access',
'type' => MENU_LOCAL_TASK,
'weight' => 2,
);
return $items;
}
编辑:您需要在modul.pages.inc文件中定义函数module_access
答案 1 :(得分:0)