如何在含for循环与include的Twig模板中移除换行?
解决Twig模板中标签间多余换行的问题
当前渲染结果里,<a>标签与逗号之间出现多余换行,根源是模板循环、include语句及条件判断的空白未被正确修剪。只需修改主模板的空白控制逻辑即可解决:
修改后的主模板代码
{% for child in field.value %} {%- include '@EasyAdmin/crud/field/association_link.html.twig' with { field: { value: child, }, } -%}{%- if loop.index < field.value|length -%}, {%- endif %} {% endfor %}
修改说明
- 给
include标签添加首尾的-({%- include ... -%}),修剪语句前后的空白,消除不必要的换行和缩进 - 将
if判断与include语句紧密衔接(无换行间隔),让逗号直接紧跟在<a>标签输出内容之后 - 保留逗号后的换行,确保下一个
<a>标签自动换行到新行
被包含的association_link.html.twig模板无需修改,它已通过{%- if ... -%}、{%- else -%}和{%- endif -%}处理了自身输出的前后空白。
修改后即可得到期望的输出:
<a href=url2>name1</a>, <a href=url2>name2</a>
内容的提问来源于stack exchange,提问作者Eferra83
相关产品推荐
相关产品推荐

