对于我当前的站点,我有一个将用户存储在实体引用字段中的内容类型。我想允许此字段中引用的用户编辑该节点的数据。在 drupal7 中,我会使用 node_access 钩子(Hook)来做到这一点——我不会在 drupal8 中工作。
这是我的钩子(Hook)的演示代码 - 出于测试目的,我想禁止一切。但是它永远不会被调用,并且不 - 我没有以 user1 身份登录。还重置了缓存,再次卸载并安装了模块并重建了权限 - 似乎没有什么能让这个钩子(Hook)起作用。
function mymodule_node_access(\Drupal\node\NodeInterface $node, $op, \Drupal\Core\Session\AccountInterface $account) {
$access = new AccessResultForbidden();
return $access;
}
我的问题是为什么这个钩子(Hook)从来没有被调用过——如果现在使用 drupal 8 有更好的方法呢?
任何帮助将不胜感激。
最好的祝福,
兰巴赞巴
最佳答案
用户 1 永远不会调用此 Hook ,因为他绕过了所有访问控制。
尝试匿名测试或作为其他角色进行测试。
关于hook - Drupal 8 模块开发 : hook_node_access not called,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37021242/