我正在使用Twig模板引擎,并希望包含一个子模板linke以下示例:
<header>
<div id="menu">
{% include 'menu.twig' %}
</div>
</header>
Run Code Online (Sandbox Code Playgroud)
包含的文件包含以下代码:
<ul>
<li>item 1</li>
<li>item 2</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
现在Twig生成followig HTML代码:
<header>
<div id="menu">
<ul>
<li>item 1</li>
<li>item 2</li>
</ul>
</div>
</header>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,缩进级别仅适用于所包含文件的第一行,这导致上面的代码非常不整洁且难以维护.
如何通过这样正确的缩进从Twig获得正确的输出?
<header>
<div id="menu">
<ul>
<li>item 1</li>
<li>item 2</li>
</ul>
</div>
</header>
Run Code Online (Sandbox Code Playgroud)
我认为在包含模板时没有办法保持缩进。我能想到的唯一解决方案是在变量中传递缩进级别,并在包含的模板中使用循环来为每行中的空白数量添加前缀。显然,这个“解决方案”是疯狂的,维护起来也是一场噩梦。
关于此评论:“[...] 这导致上面的代码非常混乱且难以维护。” 我想说以下几点:
如果 Twig 模板生成强制“完美对齐”的格式,则上述所有内容都会有所不同。但对于 HTML,请不要浪费时间来对齐标签。
| 归档时间: |
|
| 查看次数: |
752 次 |
| 最近记录: |