首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drupal 7访问回调不能正常工作

Drupal 7访问回调不能正常工作
EN

Stack Overflow用户
提问于 2014-06-27 22:51:58
回答 1查看 1.8K关注 0票数 0

Drupal 7 Hook_menu访问回调没有返回正确的布尔值。

在开始之前。是!缓存被清除..。很多。

我实现了一个简单的测试功能:

代码语言:javascript
复制
$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_access‘函数中调用'my_module_example_page’函数,它正确工作。

有人能说明为什么这在访问回调中不起作用吗?

也许和行动顺序有关?

缓存被清除。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-28 01:28:28

如果您检查菜单文档,您将看到以下代码:

代码语言:javascript
复制
  function mymodule_menu() {
    $items['abc/def'] = array(
      'page callback' => 'mymodule_abc_view',
      'page arguments' => array(1, 'foo'),
    );
    return $items;
  }

‘页面回调’接受一个字符串,这是回调函数的名称。要发送给该函数的参数在“页面参数”数组中提供。

编辑注意,您可能应该创建一个权限并将您的角色分配给该权限,然后检查该权限,而不是检查特定角色。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24461850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档