在 Drupal 中,有两个非常重要的模块:Fields 和 Field UI。它们允许我们为各种对象(节点、评论、用户、分类术语等)附加不同类型的字段。这些对象由 Entity(实体) 模块创建。通过 Entity + Fields 的组合,我们可以在网站上实现各种现实世界对象之间的关系。
例如:你有一家公司,公司下有多个部门,每个部门又有若干员工。我们可以为“部门”创建一个 分类词汇表(Taxonomy Vocabulary),并在其中添加公司所有部门,然后创建一个 内容类型(Content Type)Employee(员工),并为其添加与部门关联的字段。
最终,我们不仅能获得部门和员工的独立页面,还能得到一个彼此关联的目录结构。在本课中,我们将创建这样的“部门与员工”目录,但首先要理解:Drupal 让你能够快速为网站添加各种对象,并灵活地建立它们之间的链接。
Drupal 不仅可以处理文本页面,还可以处理图像。要实现这一点,需要启用 Image(图像)模块。该模块允许你将图片附加到节点(Node),并根据需要以不同大小显示它们。而且在不同的地方,这些图片尺寸可以不一样。例如,在节点的摘要(Teaser)中我们可以显示较小的图片,而在完整页面中则显示大图。
在之前的课程中,我们已经创建了一个名为 Employee(员工) 的内容类型。现在,让我们打开该内容类型的字段管理页面,并添加一个图像字段。

此时,在“创建/编辑员工”表单中将出现一个用于上传图片的字段:
Views 模块是 Drupal 中最受欢迎的模块之一。它允许你以任意形式显示网站中的各种数据——新闻、文章、评论、分类术语(Taxonomy terms)等,可输出为区块(Block)、页面(Page)、RSS 信息流、CSV 文件、XML 文件等多种格式。而且在 Drupal 8 中,Views 模块已经内置在核心中!现在不需要额外安装,它随标准安装包一同提供。
让我们启用 Views 并开始展示数据。
首先创建一个新的内容类型:News(新闻)。

在网站中,我们经常需要以弹出窗口(popup)的形式显示图片。为此,Drupal 提供了一个非常流行的模块 —— Colorbox:
https://www.drupal.org/project/colorbox
composer require drupal/colorbox drush en colorbox
安装完成后,我们需要进入模块文件夹,找到 README.txt 文件,并在其中找到 Colorbox 库(library)的下载链接:
/web/modules/contrib/colorbox
如今论坛(Forum)的热度已不如以往,但它仍在一些场景中非常有用,比如种子分享网站、团购网站以及技术支持社区。Drupal 允许我们在 5 分钟内搭建一个简单而完整的论坛。

要添加论坛,首先需要启用 Forum 模块:

启用后,论坛将自动生成,访问路径为:
Drupal 与许多其他 CMS 一样,允许你将网站页面链接组合到菜单中。你可以在创建新页面时添加新的菜单和链接。
在安装标准版本的 Drupal 后,系统默认会创建 5 个菜单:

Main navigation(主导航) —— 这是从 Drupal 7 继承的主菜单(main-menu / primary links)。默认情况下包含指向首页的链接。
User account menu(用户账户菜单) —— 这是来自 Drupal 7 的用户菜单(user-menu),包含指向用户个人主页和退出登录的链接。
Tools(工具) —— 包含网站内容管理相关链接的菜单。
Drupal 的管理面板为网站提供了强大的配置与管理功能。在接下来的文章中,我们将逐项介绍「配置(Configuration)」页面中的所有内容:
/admin/config
如果你之前使用过 Drupal 6 或 Drupal 7,那么这个管理面板你会感到很熟悉,因为大部分功能都被保留并移植到了 Drupal 8。
而对于第一次接触 Drupal 的用户,我们将从头开始,逐步讲解每个部分的用途和设置。
与其他 CMS 一样,Drupal 也有一个主页(Front page)。要设置主页,请进入 配置(Configuration)→ 基本站点设置(Basic site settings):
在这里,我们可以设置网站的主页路径。默认情况下,它是 /node,即最新内容(nodes)的列表。但在此之前,我们需要先创建一个节点作为主页。让我们创建一个 “关于我们(About Us)” 页面,并将其设为首页。路径为:
内容(Content)→ 添加内容(Add content)→ 基本页面(Basic Page)
/node/add/page

也许你的网站上有一些页面是你最常访问的,比如报告、订单、内容或评论页面。对于只会访问特定页面的客户来说,这非常方便。Drupal 提供了快捷方式(Shortcuts)功能,可快速访问重要页面。
/admin/config/user-interface/shortcut

Drupal 网站通常是为了发布到互联网上而建立的。而当你将网站上线后,它就会对全世界开放,包括垃圾信息发送者和爬虫程序——他们会尝试在你的网站上发布垃圾内容甚至恶意代码。Drupal 具备多层检测和文本过滤机制,可以识别并清除来自表单输入中的恶意代码(你可以了解更多关于 XSS 攻击的内容)。
让我们进入 配置(Configuration)→ 内容创作(Content authoring)→ 文本格式与编辑器(Text formats and editors) 页面:
/admin/config/content/formats
