logo

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

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

演示 EBT 模块 下载 EBT 模块

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

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

演示 EPT 模块 滚动

滚动

6.7. 在 Drupal 中使用区域(Regions)和区块(Blocks)。

17/10/2025, by Ivan

如果您希望在 Drupal 中添加一个新的 区域(Region) 来显示区块(Blocks),需要执行以下步骤:

  • 在主题的 theme.info.yml 文件中添加区域信息。
  • 编辑 page.html.twig 文件,在其中添加新区域的输出。

drupalbook.info.yml 文件中添加区域数据

所有区域都通过 regions 键定义:

# Regions
regions:
  header: 'Header'
  content: 'Content'
  footer: 'Footer'

区域的机器名称(machine name) 应由字母、数字或下划线组成(与 PHP 变量命名规则类似)。
可读名称(human-readable name) 可以加引号或不加(如果名称中没有空格),但建议统一使用引号。可读名称会显示在 Drupal 管理后台,而机器名称则用于模板文件 page.html.twig 中。

page.html.twig 文件中输出区域

所有区域的输出都存储在 page 变量中。要显示某个区域,只需输出 page 变量的对应部分。
例如,我们在主题中定义了一个名为 header 的区域:

header: 'Header'

那么在模板中可以通过以下方式输出它:

{{ page.header }}

您可以在 page.html.twig 文件中的任意位置输出在 theme.info.yml 中定义的任何区域。

Drupal 默认区域(Standard Drupal Regions)

您可以随时参考官方模板文档:
page.html.twig 官方文档

以下是 Drupal 默认提供的标准区域:

  • page.header:网站页眉(Header)区域。
  • page.primary_menu:主菜单区域。
  • page.secondary_menu:辅助菜单区域。
  • page.highlighted:内容上方的高亮区域。
  • page.help:帮助信息区域。
  • page.content:主内容区域(必需区域)。
  • page.sidebar_first:第一个侧边栏。
  • page.sidebar_second:第二个侧边栏。
  • page.footer:页脚区域。
  • page.breadcrumb:面包屑导航区域。

您既可以使用 Drupal 提供的标准区域,也可以添加自定义区域。最重要的是,确保 区域名称与其在 page.html.twig 中的位置一致