访问回调.函数不返回false和true值


Access callback. function does not return false and true value

我有一个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'没有返回true或false。

function module_access () {
return TRUE;
}

access callback不返回TRUE在"您未被授权访问此页面"页面上。

    删除"type"=> MENU_LOCAL_TASK。
  1. 检查父菜单项是否可访问'blank5c'。

我可以看到您提供的访问参数为array(1)。但是你的访问回调函数不包含任何参数。

可以在access回调函数内部定义函数参数。但我不觉得这和你的案子有什么关系。删除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;
}
编辑:您需要在文件module .pages.inc
中定义函数module_access