logo

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

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

演示 EBT 模块 下载 EBT 模块

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

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

演示 EPT 模块 滚动

滚动
18/10/2025, by Ivan

你刚刚安装了 Drupal,或者你拥有一个带有标准设置的网站。你可以添加文章并为其添加标签。现在,你是否想为访客提供一个仅包含特定分类文章的页面?该怎么做呢?你决定暂时搁置这个想法,而是希望显示所有按标题排序的文章。那么该如何实现?

事实上,并不是所有功能在安装 Drupal 后就能立即启用。通常,所有附加功能都被独立成单独的模块。但不要急着安装一堆模块,首先试试 Views 模块。

18/10/2025, by Ivan
overview

如果你对 Drupal 感兴趣,那么迟早你会接触到 Views 模块。这个模块允许你显示几乎所有 Drupal 中的数据:用户、内容、评论、分类术语等。此外,它还可以显示表格、区块、幻灯片、日历、列表、图表以及其他类型的数据和设计。自 Drupal 8 版本起,该模块已被纳入核心。因此,让我们来了解一下这个模块。

首先需要注意的是这个模块的体积:Views 和 Views UI 模块分别占用了 808 KB 和 3.6 MB。体积非常大,但使用它时并不需要了解其内部工作原理。Views 拥有一个相当庞大的界面,如果你愿意,即使没有编程知识也可以理解它的使用方式。

在 Drupal 菜单中,Views 位于「结构(Structure)」—「视图(Views)」:

drupal 8 views

overview
17/10/2025, by Ivan
code

你刚刚安装了 Drupal,或者你的网站还保持着默认设置。你可以添加文章并为它们打上标签。现在,你希望为访客提供一个页面,用来显示某个特定分类下的文章,该怎么做呢?或者,你只是想按照标题对所有文章进行排序,该如何实现?

其实,在刚安装完 Drupal 后,并不是所有功能都可以立即启用。通常,许多扩展功能都被拆分为独立的模块。但请不要急于安装大量模块,首先试试看 Views 模块 —— 它能帮你完成大多数数据展示需求。

code
17/10/2025, by Ivan
filters

Views 模块不仅允许我们设置过滤器并显示内容,还可以让用户动态地更改这些过滤条件。下面我们将使用 Views 模块创建一个简单的房地产公告板。

为了显示公告,我们首先需要创建一个公告(Announcement)内容类型。进入菜单:结构(Structure)→ 内容类型(Content types)→ 添加内容类型(Add Content type)

drupal 8 ads

接下来,为该内容类型添加以下字段:房间数量、价格、地址、电话、姓名。进入“公告”内容类型的 管理字段(Manage fields) 选项卡:

filters
17/10/2025, by Ivan
Views Arguments

在开发中,我们经常需要显示与特定用户相关的区块(例如该用户的文章或公告),或者在节点页面中显示该节点的作者信息。

然而,每个用户都有自己的一组公告,每个节点也都有各自的作者,因此这些区块必须根据当前节点或用户动态变化。为了实现这种效果,我们可以在 Views 中使用上下文过滤器(Contextual Filters)

drupal 8 contextual filters

现在,让我们为公告(announcement)添加一个过滤器,使其在广告页面上只显示与当前公告相关的数据。我们将按 nid 字段过滤。下面我们来看看这个过滤器的工作原理。

在 Drupal 中,每个节点的 URL 通常如下:

/node/13

Views Arguments
17/10/2025, by Ivan
carousels

在 Drupal 7 中,有许多模块用于将不同的 jQuery 幻灯片插件与 Drupal 集成。其中最受欢迎、最方便的当属 Views Slideshow 模块。它的一个缺点是:在 Drupal 7 版本中,它并不是响应式的。而在 Drupal 8 版本中,这个问题已经得到了解决,因此我们将使用 Views Slideshow 来制作幻灯片。

首先,需要下载并安装 Views Slideshow 模块,同时启用其子模块 Views Slideshow Cycle

https://www.drupal.org/project/views_slideshow

此外,我们还需要额外的 jQuery 库,这些库需要放在网站根目录下的 libraries 文件夹中(如果不存在,请手动创建)。

/libraries/jquery.hoverIntent/jquery.hoverIntent.js

carousels
17/10/2025, by Ivan
settings

在本篇文章中,我们将介绍 Views 模块中的最后一个设置部分 —— “其他(Other)” 选项。

Views others settings

机器名称(Machine name):显示 ID 默认被设置为 page_1block_1,随后新增的显示会自动递增(例如 page_2page_3)。如果你在同一个视图中包含多个显示,建议重命名机器名称以便管理。

settings
17/10/2025, by Ivan
 Data

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

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

Drupal 9 (5)

Drupal 8 (3)

PHP (2)

创建示例数据

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

/node/add/article

drupal views

 Data
17/10/2025, by Ivan
store

Drupal 非常适合开发中小型在线商店。主要的电商模块有:

Commerce 模块:

https://www.drupal.org/project/commerce

以及 Ubercart 模块:

https://www.drupal.org/project/ubercart

这两个模块仅提供了电子商务网站的基础功能。除此之外,你还需要自行设计商店的外观。当然,你也可以选择一个适用于 Drupal 或 Drupal Commerce 的主题,但即便如此,也不能保证默认功能能完全满足你的需求,未来你可能仍希望扩展更多功能。

store