logo

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

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

演示 EBT 模块 下载 EBT 模块

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

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

演示 EPT 模块 滚动

滚动

Drupal 6、7 和 8 之间的主题差异

01/10/2025, by Ivan

这是 Drupal 8 中一些最显著的变化列表,这些变化会影响到主题开发。

更多信息

1. Drupal 8 默认输出语义化的 HTML5 标记(参见 Drupal 8 HTML5 倡议),而 Drupal 6 和 7 默认是 XHTML。
2. 除了 jQuery v2.x 之外,Drupal 8 还包含更多前端库,例如 ModernizrUnderscore.jsBackbone.js
3. Drupal 8 的核心模块 RDF 输出 schema.org 标记。
4. Drupal 8 改善了无障碍性,广泛使用了 WAI-ARIA 属性。
5. Drupal 8 引入了 Twig,取代了 PHPTemplate 作为默认的主题引擎。这意味着 theme_* 函数和基于 PHP 的 *.tpl.php 文件被替换为 *.html.twig 模板。
6. Drupal 8 默认启用性能优化功能,例如 CSS 和 JavaScript 聚合
7. Drupal 8 带有新的 UI 元素,你可以在自己的管理界面中使用,包括模态对话框和拖放按钮。
8. Drupal 8 提供了响应式特性,例如 响应式主题、工具栏、图片和表格。
9. 在 Drupal 6 和 7 中,如果你想为特定页面添加 CSS 或 JS,需要使用 drupal_add_css()drupal_add_js()。在 Drupal 8 中,这被替换为通过库在渲染数组的 #attached 属性中添加 JS / CSS 资源
10. Drupal 8 不再支持 IE 6、7 和 8,这使得能够使用 jQuery 2.0 及其他假定支持现代 HTML5/CSS3 浏览器的代码。
11. Drupal 8 不支持 不支持 SVG 的浏览器(包括 IE8 和 Android 浏览器 2.3)。
12. Drupal 8 的 CSS 中使用的 ID 比 Drupal 7 更少。
13. Drupal 8 的 CSS 文件结构 基于 SMACSSBEM
14. Drupal 8 的 CSS 使用 CSS3 伪选择器
15. Drupal 8 带有 Classy 基础主题,它在标记中注入类并包含相应的 CSS。这将取代许多之前在核心模块中的预处理函数和 CSS 文件。
16. Drupal 8 将 CSS 类从预处理函数移动到 Twig 模板中
17. Drupal 8 使用 断点媒体查询 来控制网站在不同设备上的外观。

Drupal 7 与 Drupal 8 之间的 CSS 类变化

菜单

D7:

.menu li.expanded
.menu li.collapsed
.menu li.leaf
.menu li.active-trail
.menu li.first
.menu li.last

D8:

.menu-item--expanded
.menu-item--collapsed
.menu-item--active-trail
.menu-item:first-child
.menu-item:last-child

.menu-item--leaf 很少使用,因此被移除。如果需要,可以加回来。参见示例 https://www.drupal.org/node/2425691#comment-9629101
@todo 在本文档中替换为引用链接。