如何在 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中创建一个Context View,然后根据NID(node id)显示在Panel中
Drupal 8 如何制作仅显示与当前节点相关的分类术语的视图