Drupal 8 主题开发:Twig主题模板调试

注意事项:
如支付后未自动显示完整内容,可点击“已支付?点此查询订单”进行查看。
如遇内容不符或缺失,请联系内容作者或平台客服(工作日 9:00-18:00)。

Drupal 8 为主题开发提供了一些调试工具,使开发人员能够更方便地进行主题开发。

启用主题调试

编辑 sites/default/services.yml 文件(如果此文件不存在,先将 default.services.yml 文件复制为 services.yml),将其中 Twig 的 debug 项设置为 true(如下)

parameters:
  twig.config:
    debug: true 

启用主题调试之后,Drupal会向页面源代码中添加大量辅助开发的注释信息,通过使用 Firebug 或源代码进行查看。

Drupal 8 主题开发 启用调试

主题调试输出的注释中,包含的实用开发信息有:

  • 主题Hook的名称(THEME HOOK)
  • 可用于覆盖当前模板的模板文件名称(FILE NAME SUGGESTION)
  • 当前使用的模板文件(BEGIN OUTPUT from)
  • 模板输出内容的起止范围等(BEGIN OUTPUT from, END OUTPUT from)

注意:如果使用火狐版本的 Firefox 进行查看,记得勾选“显示注释”选项才可看到注释信息(如下图)

Drupal 8 主题开发 火狐调试

自动重载模板文件

默认情况下,模板文件会在经过编译后被系统缓存以便提升性能。在没有清除缓存或重编译前,对模板文件的修改并不会立即生效。通过将主题的 auto_reload 项设置为 true,可以使模板被修改后自动重新编译,使用主题开发更为方便。

parameters:
  twig.config:
    auto_reload: true 

输入模板变量

在 twig 模块中,可以使用 dump() 函数来输出和查看变量

{{ dump() }}
{{ dump(var) }}

如果安装并启用了 Devel 模块的子模块 Devel Kint,则可以使用 kint() 函数以更易读的格式对变量进行输出

{{ kint() }}

当变量输出内容过大时,可能会导致内存耗尽而出错,此时也可以借助 vardumper 模块来输出变量内容

看完了?还不过瘾?点此向作者提问