0

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

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

4

1 回答 1

3

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

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

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

于 2017-11-29T02:51:58.830 回答