如何在 Drupal 7 中创建一个仅显示基于当前用户字段的过滤列表的视图

Posted

技术标签:

【中文标题】如何在 Drupal 7 中创建一个仅显示基于当前用户字段的过滤列表的视图【英文标题】:How to create a view in Drupal 7 that shows only a filtered list based on a field of the current user 【发布时间】:2017-01-24 11:35:07 【问题描述】:

我正在尝试创建一个视图,它根据当前登录用户的同一实体的关联来过滤结果页面(内容类型)。

这是我的详细情况:

    用户:field_organizations (n)(内容类型的实体引用字段:组织页面:field_organization (1)(内容类型的实体引用字段:组织

例如:

用户

    Alice:field_organizations = [o1, o2, o3]

    鲍勃 - field_organizations = [o2, o3]

    查理 - field_organizations = [o1]

页面

page1:组织 = o1 page2:组织 = o1 page3:组织 = o2 page4:组织 = o3

视图应返回以下结果:

爱丽丝 = [page1, page2, page3, page4] 鲍勃 = [page3, page4] 查理 = [page1, page2]

我已经尝试创建一个基于当前用户 ID(上下文过滤器)的视图(用户)仅返回与该用户关联的组织,但问题是我无法在内容的 field_organization 中使用此视图键入 page 以过滤结果。它需要查看内容而不是查看用户。

创建组织视图我无法通过上下文过滤器访问当前用户 ID。

有人可以建议我另一种解决方案吗? 谢谢

【问题讨论】:

【参考方案1】:

乍一看,您应该在视图的“关系”部分中设置用户和内容类型之间的关系。 另外看看这个模块 - Views Field View。或许对你有帮助。

【讨论】:

我同意你的看法。我创建的用户视图返回的正是我需要的,但我不能在内容类型 field_organization 中使用这种类型的视图。在此领域中符合条件的视图必须是组织视图,但在此特定视图中,我找不到显示正确结果的方法。我无法联系到用户 field_organizations,也无法返回过滤后的组织列表。 看看这个模块 - Views Field View。可能对你有帮助。

以上是关于如何在 Drupal 7 中创建一个仅显示基于当前用户字段的过滤列表的视图的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 7:视图 3:仅显示当前用户的个人资料信息

Drupal 7 - 有没有办法在列表中显示特定的组?

在Drupal中创建一个Context View,然后根据NID(node id)显示在Panel中

Drupal 8 如何制作仅显示与当前节点相关的分类术语的视图

在 Drupal 中创建基于标准的、跨浏览器兼容的圆角的最佳方法是啥?

如何在drupal 7视图中按角色和用户ID显示用户评论