logo

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

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

演示 EBT 模块 下载 EBT 模块

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

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

演示 EPT 模块 滚动

滚动
17/10/2025, by Ivan
Drupal SEO

也许你刚刚决定要创建一个网站,或者你的网站已经建好了。但如果没有人访问你的网站,该怎么办呢?你并不是第一个建立网站的人,而且很可能也不是第一个在你所在领域(例如旅游、汽车、房地产)创建网站的人。现在可能已经有几十甚至上百个与您网站类似的网站。你的每一个商业竞争对手几乎都有自己的网站。而有些网站由于没有受众,最终被遗忘在互联网的角落。

要想让人们开始访问你的网站,甚至转化为客户,就必须进行网站的推广。在各种推广方式中,最流行的就是搜索引擎优化(SEO)。大多数用户在查找所需信息时,都是从 Google 开始的。在搜索结果前十名中,始终存在激烈的竞争,而且搜索请求越热门,竞争就越激烈。不过,不必因此气馁——每个人都可以在互联网上找到属于自己的细分领域与目标客户。

在本章中,我们将学习如何让你的网站在搜索引擎中获得更高的曝光。这一过程被称为 SEO(Search Engine Optimization,搜索引擎优化)。如果你能持续不断地优化网站,并为潜在客户提供有价值的信息内容,那么你的网站将逐步提升排名,甚至能在热门搜索词中占据前列。接下来,让我们一步步学习如何优化和推广你的 Drupal 网站。

Drupal SEO
17/10/2025, by Ivan
seo

Seo

在开始推广你的 Drupal 网站之前,首先要做的一件事就是安装 SEO Checklist 模块:

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

这是一个非常有用却“什么都不做”的模块。它不会为网站添加新功能,不会修复错误,也不能保证你的网站能进入搜索结果的前列。但它会提供一个清单(checklist),告诉你为提升网站 SEO 所需完成的各项任务。

访问配置页面:

/admin/config/search/seo-checklist

seo
17/10/2025, by Ivan
theme

Drupal 8 的主题系统发生了重大变化,主要原因在于它转向了面向对象编程(OOP)并采用了 Twig 模板引擎。过去,只需了解一点 PHP、HTML、CSS 就可以开始创建自己的主题;而现在,还需要学习 Twig 的使用。

从某种意义上说,这让 Drupal 的主题开发变得更复杂,但同时也让开发流程更加高效。使用模板引擎的最大优势在于:当一个团队中有后端开发人员负责功能逻辑,而前端开发人员负责网站展示时,Twig 可以实现良好的分离与协作。

我们需要逐步掌握这些新的技术与开发方式:SASS、Twig、Grunt、Bootstrap —— 这些早已成为现代 Web 应用开发的标准。接下来,让我们一步步学习如何在 Drupal 中运用它们。

theme
17/10/2025, by Ivan
core

Drupal 使用了全新的 Twig 模板引擎,因此所有主题都为此进行了重构。让我们进入 /core/themes 文件夹看看其中的内容:

drupal 8 theme

我们可以看到包含 Twig 模板、主题构建器(Classy、Stable、Stark)以及现成的主题(Bartik、Seven)。

Twig 模板引擎

Drupal 集成了部分 Symfony 库:

https://symfony.com/

core
17/10/2025, by Ivan
jQuery OwlCarousel

在上一篇文章中,我们使用 Views Slideshow 创建了一个幻灯片,但分页器(paginator)仍然没有样式化,并且缩略图显示较小。

在本文中,我们将学习如何添加 OwlCarousel 并通过附加库引入 CSS 样式。

本文中,我们使用一个自定义模块来加载 OwlCarousel 库;在下一篇文章中,我们将演示如何在主题文件中美化幻灯片。

https://drupalbook.org/sites/default/files/inline-images/drupalbook_owlcarousel.zip

关于如何创建幻灯片的内容,请参考前一篇文章:

3.5.5. Views slideshow - 通过 Views 输出 jQuery 幻灯片与轮播。

jQuery OwlCarousel
17/10/2025, by Ivan
sorting

首先,我们需要学习如何使用 Views 显示区块和页面。我们先从页面开始,显示网站上的所有文章。

通过 Views 输出页面

创建第一个视图,进入菜单 管理 → 结构 → 视图(Manage → Structure → Views)

Views Filters

接下来,输入视图名称,选择要显示的内容类型(内容、评论、用户或分类术语)。这里我们选择显示文章(Article)。在过滤条件中选择内容类型为 Article,在排序中设置最新的文章优先显示:

sorting
17/10/2025, by Ivan
Zen Drupal

Zen 是 Drupal 最受欢迎的主题构建器。如果你需要快速为网站创建一个基于三栏布局的响应式设计,那么 Zen 正是你所需要的。你只需安装它并运行 npm install,Zen 就会为你的设计准备好基础框架。我们按步骤来看。

从官方网站下载 Zen 父主题:

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

从 Drupal 8 开始,我们可以直接将主题放入 /themes 文件夹,因此我们将 Zen 主题文件夹放入该目录下。

/themes/zen/STARTERKIT 文件夹中,有一个子主题模板,你可以手动基于它创建自己的子主题。为此,你需要将所有 STARTERKIT 替换为你的主题名称,并将新子主题的文件夹从 /themes/zen 移动到其他位置(例如 /themes/custom),以防升级 Zen 时丢失你的子主题。但我强烈建议使用 Drush 或主题生成器来完成这一步。

Zen Drupal
17/10/2025, by Ivan
Drupal 8 theme

在 Drupal 7 中,你可以很快地基于 Zen 创建一个子主题并开始构建网站。从 Drupal 8 开始,也有几个主题构建器可以帮助你创建自己的主题。但在基于它们创建子主题之前,你需要先了解一下主题的结构和文件布局。

Drupal 的开发者建议我们以 Stark 主题为例进行学习。这个主题被添加到 Drupal 核心中,主要是为了帮助开发者熟悉主题的结构。让我们来看一下 Stark 主题的内部结构:

Stark.info.yml 文件

我们从 stark.info.yml 文件开始。在 Drupal 7 中,主题信息保存在 .info 文件中;而在 Drupal 8 中,所有配置文件都采用 YML 格式,因此主题文件扩展名变为 .info.yml。在 YML 格式中,键(key)与值(value)之间用冒号分隔。

主题名称:

name: Stark

Drupal 8 theme
17/10/2025, by Ivan
Drupal 8 theme

从这篇文章开始,我们将在 Drupal 上创建我们自己的主题。在本教程的这一部分,我们将分析 Drupal 主题的基础内容——文件结构、如何包含和使用 CSS、JavaScript。我们的主题将基于核心的 Stable 主题构建。如果你想学习 Drupal,那么从 Stable 开始是一个很好的选择。不要一开始就使用 Bootstrap,否则你会经常遇到各种问题和错误。在本系列的下一部分,我们将在掌握了 Drupal 主题创建基础之后,再开始学习如何基于 Bootstrap 构建主题。

以下是官方文档:

https://www.drupal.org/theme-guide/8

为我们的主题创建文件夹

我们将所有新主题放在 /themes 文件夹中。你也可以像 Drupal 7 一样放在 sites/all/themes,但更推荐使用新的 Drupal 文件结构,即直接放在 /themes 文件夹中。

Drupal 8 theme