树枝模板的自动无空间

Automatic spaceless for twig templates

我有一个项目使用带有很多 html 模板的 twig。不幸的是,没有 "master"-templates 加载这些模板。所以每个树枝模板都是独立的。

是否有可能以这种方式配置 twig,%spaceless% 函数将应用于每个输出? https://twig.symfony.com/doc/2.x/filters/spaceless.html

{% apply spaceless %}
    <div>
        <strong>foo</strong>
    </div>
{% endapply %}

当然 - 可以将这些设置到每个单独的树枝模板中,但这是一个非常愚蠢的想法,因为对于每个新模板,您都必须 "remember"。

我的想法是将其直接(可能是扩展)实现到 twig 中,但我只是没有找到正确的方法来执行此操作?或者是否有一个默认启用此功能的 twig 选项?

实际上,您可以通过多种选择来解决这个问题。我认为其中大部分已在此处介绍:

symfony every block with spaceless

您总是可以在这些括号内覆盖您的代码。

但是实际上是什么阻止了您从基本模板扩展每个模板并用 {% spaceless %} 标签包围它的内容块? 如果您决定创建没有无空间 属性 的模板,那么您可以只使用通常的块。

您还可以对所有模板执行 "replace all",并用我们自己的新标签替换 "block"。

如果您真的不想要新的 tag/node/something,您也可以编写一个新的令牌解析器来查找常用块并在其中应用 spaceless 函数(如果您真的不想要"remember" 使用 {% spaceless %}.

的必要性