Spaceless не хочет работать правильно в Symfony2 Twig Template
Следующий код:
{% spaceless %}
blablabla
blablabla
blablabla
blablabla
blablabla
{% endspaceless %}
Я думал, что он должен вернуть следующую строку:
blablabla blablabla blablabla blablabla blablabla
но в источнике страницы я вижу следующее:
blablabla
blablabla
blablabla
blablabla
blablabla
Wtf?
Как это сделать без какого-либо html <tags>
?
Ответы
Ответ 1
Вы можете добиться этого, используя модификатор управления пробелами в комментарии твига:
{#- #}blablabla {# -#}
blablabla {# -#}
blablabla {# -#}
blablabla {# -#}
blablabla{# -#}
Комментарий 'regular' выглядит следующим образом: {# my comment #}
Добавление '-' приведет к удалению пробелов до или после комментария (или обоих):
- удалить пробелы перед комментарием: {# - мой комментарий #}
- удалить пробелы после комментария: {# мой комментарий - #}
- удалить пробелы до и после: {# - мой комментарий - #}
Кстати, это также работает для {{-... -} и {% -... -%}
Ответ 2
Как объясняется в документации:" Используйте тег без пространства для удаления пробелов между тегами HTML, пробелы NOT в пределах HTML-теги или пробелы в тексте:
{% spaceless %}
<div>blablabla</div>
<div>blablabla</div>
<div>blablabla</div>
<div>blablabla</div>
<div>blablabla</div>
{% endspaceless %}
Будет выводиться:
<div>blablabla</div><div>blablabla</div><div>blablabla</div><div>blablabla</div><div>blablabla</div>