基础篇11. 添加services,开启twig debug模式
OK,我们刚才已经安装好了Drupal console,那么我们继续编辑settings.local.php文件。
在第39行,你可以看到这行代码可以让你开启本地的services。(由于版本的差异,你的代码中,对应语句的行数可能有所变化,但是差别应该不大)
/**
* Enable local development services.
*/
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
我们来修改一下这一行代码,把它改为文档中的样子。
/**
* Enable local development services.
*/
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/default/local.services.yml';
这样做的意义和作用,很类似之前我们创建settings.local.php文件。总之是为了让你有创建一个自己独立的工作环境,而不受其他人的影响,也不会影响其他人。所以,同样的,这个文件在用git提交的时候应该被忽略。
然后我们再在default文件夹中创建一个local.services.yml文件。
并且在文件中黏贴文档中的代码。并保存文件。
services:
cache.backend.null:
class: Drupal\Core\Cache\NullBackendFactory
parameters:
twig.config:
debug: true
auto_reload: true
cache: false
这里的9行代码,前三行是关闭缓存用的,先不管他。因为我们回头还要再次进入settings.local.php文件中进行设置才能生效。
第7行是开启twig debug模式,这样会在渲染页面模板的时候告诉你使用了哪一个模板,并给你一些参考用的模板建议。关于模板和模板建议,我们以后还会讲,这里,你只要能将twig debug模式开启即可。
第8行是自动刷新,当值为true时,一旦源代码被修改,就会自动重新编译twig模板。
这条语句在这里其实是不需要的,参见官网文档对auto_reload的说明:https://www.drupal.org/docs/8/theming/twig/debugging-compiled-twig-temp…,网上教程基本都是抄来抄去,大家都把这句列出来。
所以这里强调一下,除非你希望自动重新编译代码却不打算开启twig debug功能,你才需要写这条语句。
第9行是关闭缓存。
然后我们使用Drupal console的清空缓存命令 drupal cr all 来清空缓存,以加载这个本地的service文件。
回到首页,刷新页面以后可以看到,在代码审查区域,多了很多绿色的注释代码,这就说明twig debug服务已经开启了。