0

我正在尝试在另一个模板中包含一个 Twig 模板,但是由于包含的模板中的尾随换行符导致了不需要的空格。

我的用例是包含发生在句子中间,就在逗号之前,我不希望逗号之前有任何空格。

基本模板:

Né le {{ include("date.html.twig", {date: date}) }}, décédé le…

包含的模板:

<time datetime="...">
  {{- date.format() -}}
</time>

期望的结果:

Né le 6 mai 1977, décédé le…

实际结果 :

Né le 6 mai 1977 , décédé le…

我可以确认尾随换行符是问题的原因,但删除它对我来说不是一个可行的解决方案,因为大多数工具都配置为在它丢失时添加它。

有没有办法修剪这个尾随换行符?

4

1 回答 1

0

我在写问题时找到了解决方案:

用 Twig 标签结束包含的模板似乎就足够了。所以我最终将内容包装在一个spaceless过滤器中:

{% apply spaceless %}
<time datetime="...">
  {{- date.format() -}}
</time>
{% endapply %}

从技术上讲,使用{% if true %} … {%- endif %}也有效,但很难理解。

-内部仍然需要修饰符,<time>因为spaceless只删除 HTML 标记之间的空格,而不是内部。

于 2020-05-28T09:06:06.423 回答