Drupal 8 视图:忽略管理员角色的上下文过滤器

yyc*_*man 1 drupal view entityreference drupal-8

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

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

ran*_*ver 5

在 Drupal 8 中,我无需任何contrib 模块(如上下文过滤器 OR)即可完成此操作。

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

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