Drupal 核心的一个新特性就是 Twig 调试工具。这一工具让开发者可以通过跟踪,来得知某些标记来自于哪一个模板文件。开启这个功能的主要操作是在default文件夹中创建一个local.services.yml文件
services: cache.backend.null: class: Drupal\Core\Cache\NullBackendFactory parameters: twig.config: debug: true auto_reload: true cache: false |
当打开 Web 控制台时,会看到加入了 HTML 注释

带有(*)的文件是主题建议,在特定条件下可以用来覆盖模板文件。 带有(x)的文件是当前正在使用并输出被跟踪标记的模板。注释中最后一个文件是用于指出最后输出的模板。
Drupal主题的书写逻辑就是覆写,无论是哪个模块的覆写,都必须先在网页上先输出你想要的内容,再通过twig debug模式找到该模块输出的文件,进行修改。
以your tools菜单为例

注:我们想要利用twig debug模式查看这个区块是由哪个模板控制,就先要在网页端输出这个区域。
1、所以在覆写Your Tools这个模块的第一步,就是要在网页端创建好这个模块并放在对应的区域内。

2、第二步就是通过twig debug模式来看我们要修改的模板是哪一个。
我们可以看到这个区块的标题是有样式的,内容里面也有一个<span></span>的双标签展示出这个小图标,在li和a之间。都需要修改

3、通过Web 控制台看覆写文件,这个文件包括标题和内容是用block.html.twig文件控制的。所以我们复制block.html.twig文件重命名为block--yourtools.html.twig文件来控制。

4、Block.html.twig文件中只可以修改标题的类名,而对于内容的输出没有具体。右边为我们修改之后的block--yourtools.html.twig

5、我们通过block--yourtools.html.twig文件添加了标题的样式,但是内容没有修改。我们再通过Web 控制台看内容文件是通过menu.html.twig控制的,所以我们要复制menu.html.twig文件重命名为menu--tool-menu.html.twig

左边为menu.html.twig,右边为menu--tool-menu.html.twig

这样就可以通过两个文件把这个样式完全添加进去
再举另一个例子就是publication
首先我们要记住block输出的内容都是ul>li>a的形式,publication的内容里面就是ul>li>a的形式,不用再修改,我们只需要找到控制标题的那层文件来修改就可以了

控制标题的文件是block--views-block--publications-block-1.html.twig,因为我们不需要修改内容页面所以下面那层内容的文件我们无需修改
