首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Access_Callback问题

Access_Callback问题
EN

Drupal用户
提问于 2018-12-03 05:57:43
回答 1查看 24关注 0票数 0

有时(以及在我运行"drush cc all“之后),带有访问回调的自定义模块会在管理员尝试编辑用户时返回一个‘拒绝访问’错误。我可以通过禁用和重新启用(任意)模块来解决这个问题--而不仅仅是带有访问回调代码的模块。如果删除此代码,管理员编辑用户的功能将被完全永久恢复。下面是我的自定义模块中的代码:

代码语言:javascript
复制
function cs_menu_alter(&$items) {
    $items['user/%/edit']['access callback'] = 'cs_user_edit_access';
}
function cs_user_edit_access() {
    global $user;
    if (!user_has_role(3, $user) || !user_has_role(4, $user)) {
        return FALSE;
    }
    else {
        return TRUE;
    }
}

我不知道为什么这段代码会突然停止工作,但我真的不想失去这个自定义代码提供的功能(大多数情况下)。

EN

回答 1

Drupal用户

回答已采纳

发布于 2018-12-03 15:36:44

我能够通过删除次要函数并仅使用以下代码来解决我的用例:

代码语言:javascript
复制
function cs_menu_alter(&$items) {
  $items['user/%user/edit']['access arguments'] = array('administer users');
  $items['user/%user/edit']['access callback'] = 'user_access';
}
票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/273410

复制
相关文章

相似问题

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