【问题标题】:Drupal 8 Views: Ignore a contextual filter for admin roleDrupal 8 视图:忽略管理员角色的上下文过滤器
【发布时间】:2017-10-23 16:35:31
【问题描述】:

我有一个服务于实体引用字段的视图。我需要它: (1) 拉取当前登录用户创作的内容, (2) 除非当前登录的用户具有“管理员”角色,在这种情况下拉取所有内容。

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

【问题讨论】:

    标签: drupal views drupal-8 entityreference


    【解决方案1】:

    在 Drupal 8 中,我能够在没有任何 contrib 模块(如上下文过滤器或)的情况下做到这一点。

    1. 为您的实体类型添加作者上下文过滤器
    2. 从登录用户中选择提供默认值...
    3. 在下方的“何时提供值”部分中选择“指定验证标准”
    4. 对于验证器,请选择用户 ID
    5. 勾选“根据角色限制用户”
    6. 选择您的非管理员角色
    7. 对于“如果过滤器值未验证要采取的措施”,请选择“显示所有结果”

    因此,如果非管理员查看,则只会显示登录用户 ID 与实体所有者匹配的位置。对于管理员,它将显示全部。

    【讨论】:

      猜你喜欢
      • 2018-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-03
      相关资源
      最近更新 更多