Drupal 8视图:忽略管理员角色

时间:2017-05-23 15:53:34

标签: drupal views drupal-8 entityreference

我有一个服务实体引用字段的视图。我需要它: (1)拉出当前登录用户创作的内容, (2)除非当前登录的用户具有“管理员”角色,否则将拉出所有内容。

目前我将上下文过滤器设置为“创作者”,这对于要求(1)工作正常。我想我需要它绕过基于角色的过滤器。对于“块”或“页面”显示,我可以复制一个显示,根据角色为它设置权限,并且它是无缝的。但因为这是一个实体引用字段,我只能在字段设置中指定一个显示。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在Drupal 8中,我能够在没有任何贡献模块(如上下文过滤器OR)的情况下执行此操作。

  1. 为您的实体类型
  2. 添加“创作者”上下文过滤器
  3. 从登录用户
  4. 中选择提供默认值....
  5. 下面的"当提供的值"部分选择"指定验证标准
  6. 对于验证器,请选择用户ID
  7. 检查"根据角色限制用户"
  8. 选择您的非管理员角色
  9. for"如果过滤器值未验证,则采取措施"选择"显示所有结果"
  10. 因此,如果非管理员查看,则仅显示登录用户ID与实体所有者匹配的位置。对于管理员,它将显示所有。