Обрезать пробелы (завершающий символ новой строки) в конце включенного шаблона Twig
Я пытаюсь включить шаблон 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…
Я могу подтвердить, что конечный символ новой строки является причиной проблемы, но его удаление не является для меня жизнеспособным решением, поскольку большинство инструментов настроено на его добавление, если оно отсутствует.
Есть ли способ обрезать эту завершающую новую строку?
1 ответ
Я нашел решение при написании вопроса:
Кажется, достаточно завершить включенный шаблон тегом Twig. В итоге я обернул контент вspaceless
фильтр:
{% apply spaceless %}
<time datetime="...">
{{- date.format() -}}
</time>
{% endapply %}
Технически используя {% if true %} … {%- endif %}
тоже работает, но гораздо менее понятно.
-
модификаторы все еще нужны внутри <time>
так как spaceless
удаляет пробелы только между тегами HTML, а не внутри.