Lugir 2017-02-22 17:45
Drupal 8 为主题开发提供了一些调试工具,使开发人员能够更方便地进行主题开发。
启用主题调试
编辑 sites/default/services.yml 文件(如果此文件不存在,先将 default.services.yml 文件复制为 services.yml),将其中 Twig 的 debug
项设置为 true
(如下)
parameters:
twig.config:
debug: true
启用主题调试之后,Drupal会向页面源代码中添加大量辅助开发的注释信息,通过使用 Firebug 或源代码进行查看。
主题调试输出的注释中,包含的实用开发信息有:
- 主题Hook的名称(THEME HOOK)
- 可用于覆盖当前模板的模板文件名称(FILE NAME SUGGESTION)
- 当前使用的模板文件(BEGIN OUTPUT from)
- 模板输出内容的起止范围等(BEGIN OUTPUT from, END OUTPUT from)
注意:如果使用火狐版本的 Firefox 进行查看,记得勾选“显示注释”选项才可看到注释信息(如下图)
自动重载模板文件
默认情况下,模板文件会在经过编译后被系统缓存以便提升性能。在没有清除缓存或重编译前,对模板文件的修改并不会立即生效。通过将主题的 auto_reload
项设置为 true
,可以使模板被修改后自动重新编译,使用主题开发更为方便。
parameters:
twig.config:
auto_reload: true
输入模板变量
在 twig 模块中,可以使用 dump()
函数来输出和查看变量
{{ dump() }}
{{ dump(var) }}
如果安装并启用了 Devel 模块的子模块 Devel Kint,则可以使用 kint() 函数以更易读的格式对变量进行输出
{{ kint() }}
当变量输出内容过大时,可能会导致内存耗尽而出错,此时也可以借助 vardumper 模块来输出变量内容