6.1. Drupal 核心主题
Drupal 使用了全新的 Twig 模板引擎,因此所有主题都为此进行了重构。让我们进入 /core/themes
文件夹看看其中的内容:
我们可以看到包含 Twig 模板、主题构建器(Classy、Stable、Stark)以及现成的主题(Bartik、Seven)。
Twig 模板引擎
Drupal 集成了部分 Symfony 库:
其中包括 Twig。这使得 Drupal 的重构无需从零开始,而是直接使用现成的路由系统、模板引擎、YML 配置文件等 Symfony 与 Zend Framework 提供的功能。
Twig 的作用:它将网站的业务逻辑与展示层完全分离——PHP 仅负责逻辑处理,而 HTML 由 Twig 模板负责。Twig 强制开发者不能在模板中编写 PHP 代码,这意味着不能直接查询数据库,也不能在模板中加载用户、节点或术语等实体。所有数据都必须在后台准备好,再以变量形式传递到模板中,通过 Twig 输出。我们将在下一篇文章中详细介绍 Twig。
Classy 构建器主题
Classy 是一个基础主题,包含一组可复用的样式化元素,供核心主题(如 Seven 和 Bartik)使用。设计师一般不会直接基于 Classy 开发主题,它的主要作用是简化核心主题的开发。
Stable 构建器主题
这是我们在设计中会大量使用的主题。我计划在后续文章中介绍如何基于 Stable 创建自定义主题。该主题与 Zen 主题类似,简单、轻量,并且几乎没有额外设置。
在本文的后续章节 6.3. 基于 Stable 主题创建自定义 Drupal 主题 中,我们将详细实践这一过程。
Stark 构建器主题
如果说基于 Stable 创建子主题是有意义的,那么 Stark 主题仅用于教学目的。我们将在第 6.2 节中详细讲解 Stark。
Bartik 基础主题
这是 Drupal 7 的默认主题,通过 Twig 重新实现后更加现代化并具有更强的自适应性:
Seven 管理主题
Seven 主题同样来自 Drupal 7,并在 Drupal 8 中进行了改进。与 Bartik 一样,它在手机和平板设备上的显示效果更佳:
现在,你可以直接通过手机在 Drupal 博客中发布新闻,操作更加简便。
此外,Drupal 8 引入了全新的响应式管理菜单,与旧版的 Toolbar 或 Admin Menu 相比,它不会干扰网站布局,体验更加流畅。