logo

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

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

演示 EBT 模块 下载 EBT 模块

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

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

演示 EPT 模块 滚动

滚动
17/10/2025, by Ivan

Views 模块不仅可以从 Drupal 数据表中输出数据,还能对这些数据进行汇总和分组计算,这一功能被称为 数据聚合(Aggregation)

Drupal 默认自带一个 分类词汇表(Taxonomy Vocabulary),其中包含标签(Tags)。我们将创建一个区块,用于显示网站中最常用的标签,并在每个标签后显示该标签被使用的次数。最终效果如下:

Drupal 9 (5)

Drupal 8 (3)

PHP (2)

创建示例数据

首先,创建几篇文章并为它们添加标签:

/node/add/article

drupal views

当你创建了一些文章后,就可以开始创建视图了。

创建 Views 区块

进入以下路径:

/admin/structure/views/add

选择 Taxonomy terms 作为显示类型,并选择 Tags 作为数据来源:

Drupal views

启用聚合功能

在 Views 编辑界面中,启用 Use aggregation 选项:

Drupal aggregation

启用后,你会在字段(Fields)设置中看到更多与聚合相关的选项:

drupal view

添加关系(Relationships)

添加与内容的关系:Content using this term

Drupal

勾选 Require this relationship,以便仅统计被内容实际使用的标签:

drupal 8

配置字段

添加两个 Term Taxonomy: Name 字段,并将第一个字段设置为隐藏:

drupal 8

为第二个字段设置聚合类型为 COUNT(计数):

aggregation

Drupal

刷新视图预览后,你就能看到每个标签被使用的次数:

Drupal 8

格式化输出

现在我们希望每个标签名后都显示计数。为此,可以使用第二个字段的 Rewrite results(重写结果) 功能,在其中组合两个字段的输出:

Drupal 8

Replacement patterns(替换模式) 下拉菜单中,你可以看到可用的字段占位符。输入以下格式:

{{ name }} ({{ name_1 }})

圆括号用于显示计数值,双花括号语法({{}})来自 Twig 模板系统 —— 它表示在渲染时将被实际字段值替换。

最终,你的字段设置应如下:

Drupal 8

最终效果如下:

Drupal views