3.5.4. Views 关系
“关系(Relationships)”是 Drupal 中非常重要的部分,正是通过它,术语与内容、用户与内容、商品与商品展示等元素才能相互关联。借助这种机制,我们可以在显示内容字段时显示作者的字段信息,在显示商品时显示它们的价格和货号。
借助这种机制,我们可以在显示内容字段时显示作者的字段信息,在显示商品时显示它们的价格和货号。
让我们创建一个视图(View),它将在当前页面的区块中显示创建该内容的用户信息。在之前的课程中,我们已经学习了如何使用上下文过滤器(Contextual Filter)来显示与当前页面相关的信息:
http://drupalbook.org/drupal/353-views-arguments-contextual-filters
视图名称: 作者信息(Author's information)
机器名称: author_info
视图设置: 内容(Contents)、公告(Announcements)
创建一个区块(Block),仅显示一条记录。
现在需要添加一个上下文过滤器 Content: ID(内容 ID):
接着再添加一个上下文过滤器 Content: Content ID(内容 ID):
如同上一篇文章一样,设置“提供默认值(Provide default value)”:选择“从 URL 获取内容 ID(Content ID from URL)”。
现在,在我们所在的页面上,视图可以访问当前节点的字段。但我们需要作者的字段。目前,我们只能访问作者的 UID 字段:
是时候添加“作者关系(Author Relationship)”了:
添加之后,我们就可以访问作者的各种字段,例如头像、姓名、最近访问日期等。当我们添加这些字段时,视图会自动显示与关系对应的字段来源:
我一次性添加了几个字段:
内容:作者(Contents: Authored by)
(作者)用户:头像(User: Picture)
(作者)用户:UUID
(作者)用户:账户状态(User: User status)
(作者)用户:姓名(User: Name)
(作者)用户:更新时间(User: Updated date)
现在我们将这个区块显示在“公告”页面上。可以在区块的可见性设置中指定仅在“公告”内容类型中显示该区块。
好了,我们已经了解了如何在 Views 中使用“关系(Relationships)”。在之后的章节中,我们还会多次使用它,所以如果现在还有不太明白的地方,不必担心,继续学习下一篇文章即可。