1

我正在尝试使用在我的模块中创建一个非常简单的页面hook_menu(),但在我测试它之后,我得到,“您无权访问此页面”。我无法弄清楚我做错了什么。以下是我使用的代码。

请注意,我在现有模块包下创建了此模块。例如,模块文件夹是 xyz,我为模块创建了一个文件夹作为 xyz_mobile,我在信息中添加了 xyz 作为包。我不知道这是否与它有任何关系。

function xyz_mobile_menu() {
  $items['mobile'] = array(
    'title' => 'page test',
    'access callback' => TRUE,
    'type' => MENU_CALLBACK,
  );

  return $items; 
}
4

1 回答 1

1

我在这里假设 Drupal 6。您需要 $items 数组中的“访问参数”和“页面回调”元素:

function mymodule_menu() {
    $items = array();

    $items['mobile'] = array(
          'title' => 'page test', 
          'page callback' => 'mymodule_my_function',
          'access callback' => 'user_access',
          'access arguments' => array('access content'), // or another permission
          'type' => MENU_CALLBACK,
    );

    return $items;
}

“访问回调”元素包含函数的名称(在本例中为user_access),该函数将检查用户是否具有“访问参数”元素中指定的权限。

“页面回调”元素将运行您的自定义函数。

function mymodule_my_function() {
    return 'this is the test page';
}

最后,不要忘记在重新测试之前清除菜单缓存。

于 2011-08-24T21:53:28.000 回答