基础篇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服务已经开启了。

本书共83小节:

评论 (写第一个评论)