logo

额外区块类型 (EBT) - 全新的布局构建器体验❗

额外区块类型 (EBT) - 样式化、可定制的区块类型:幻灯片、标签页、卡片、手风琴等更多类型。内置背景、DOM Box、JavaScript 插件的设置。立即体验布局构建的未来。

演示 EBT 模块 下载 EBT 模块

❗额外段落类型 (EPT) - 全新的 Paragraphs 体验

额外段落类型 (EPT) - 类似的基于 Paragraph 的模块集合。

演示 EPT 模块 滚动

滚动
16/10/2025, by Ivan

“关系(Relationships)”是 Drupal 中非常重要的部分,正是通过它,术语与内容、用户与内容、商品与商品展示等元素才能相互关联。借助这种机制,我们可以在显示内容字段时显示作者的字段信息,在显示商品时显示它们的价格和货号。

借助这种机制,我们可以在显示内容字段时显示作者的字段信息,在显示商品时显示它们的价格和货号。

relationships

让我们创建一个视图(View),它将在当前页面的区块中显示创建该内容的用户信息。在之前的课程中,我们已经学习了如何使用上下文过滤器(Contextual Filter)来显示与当前页面相关的信息:

http://drupalbook.org/drupal/353-views-arguments-contextual-filters

视图名称: 作者信息(Author's information)
机器名称: author_info
视图设置: 内容(Contents)、公告(Announcements)
创建一个区块(Block),仅显示一条记录。

现在需要添加一个上下文过滤器 Content: ID(内容 ID)

views

接着再添加一个上下文过滤器 Content: Content ID(内容 ID)

filter

如同上一篇文章一样,设置“提供默认值(Provide default value)”:选择“从 URL 获取内容 ID(Content ID from URL)”。

现在,在我们所在的页面上,视图可以访问当前节点的字段。但我们需要作者的字段。目前,我们只能访问作者的 UID 字段:

authored by

是时候添加“作者关系(Author Relationship)”了:

content author

添加之后,我们就可以访问作者的各种字段,例如头像、姓名、最近访问日期等。当我们添加这些字段时,视图会自动显示与关系对应的字段来源:

relationship

我一次性添加了几个字段:

内容:作者(Contents: Authored by)

(作者)用户:头像(User: Picture)

(作者)用户:UUID

(作者)用户:账户状态(User: User status)

(作者)用户:姓名(User: Name)

(作者)用户:更新时间(User: Updated date)

现在我们将这个区块显示在“公告”页面上。可以在区块的可见性设置中指定仅在“公告”内容类型中显示该区块。

block

好了,我们已经了解了如何在 Views 中使用“关系(Relationships)”。在之后的章节中,我们还会多次使用它,所以如果现在还有不太明白的地方,不必担心,继续学习下一篇文章即可。