logo

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

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

演示 EBT 模块 下载 EBT 模块

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

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

演示 EPT 模块 滚动

滚动
02/10/2025, by Ivan

要了解哪个模板为特定元素生成标记,可以使用 Twig 的内置 debug 选项。该参数会在输出的 HTML 中显示注释,其中包括所使用的主题钩子、推荐的模板文件名,以及用于渲染某个部分的确切 Twig 文件。

sites/default/services.yml 中启用 Twig 调试,在 twig.config 部分设置 debug: true(在生产环境请关闭)。如果你在多站点模式下使用 Drupal 8,应编辑对应站点目录下的 sites/currenttsite/services.yml 文件。如果 services.yml 尚不存在,可以从 sites/default/default.services.yml 复制一份并重命名为 services.yml。详细的 Twig 调试方法参见 «调试已编译的 Twig 模板»。

清理缓存后,查看页面源代码;你会看到类似如下的调试信息:

<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
   * node--view--frontpage--page-1.html.twig
   * node--view--frontpage.html.twig
   * node--1--teaser.html.twig
   * node--1.html.twig
   * node--article--teaser.html.twig
   * node--article.html.twig
   * node--teaser.html.twig
   x node.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/classy/templates/content/node.html.twig' -->

<article data-history-node-id="1" data-quickedit-entity-id="node/1" role="article" class="contextual-region node node--type-article node--promoted node--view-mode-teaser" about="/node/1" typeof="schema:Article" data-quickedit-entity-instance-id="0">
....
</article>

<!-- END OUTPUT from 'core/themes/classy/templates/content/node.html.twig' -->

从调试输出中需要注意的几点:

  • 模板文件名建议按顺序从最具体到最不具体排列。
  • 当前使用的模板文件名前带有符号「x」。
  • 在 BEGIN OUTPUT 和 END OUTPUT 标记中,会显示当前使用模板的完整路径。