我想做这样的事情:
{% if compress %}{% spaceless %}{% endif %}
...
{% if compress %}{% endspaceless %}{% endif %}
我正在尝试['compress' => true]
从 PHP 传递给模板以打开spaceless
模式。但这会导致错误;模板标签需要正确嵌套。
有没有什么技术可以让我从 PHP 中打开/关闭空间?
我想做这样的事情:
{% if compress %}{% spaceless %}{% endif %}
...
{% if compress %}{% endspaceless %}{% endif %}
我正在尝试['compress' => true]
从 PHP 传递给模板以打开spaceless
模式。但这会导致错误;模板标签需要正确嵌套。
有没有什么技术可以让我从 PHP 中打开/关闭空间?
您将不得不重组您的模板以执行类似的操作。
{% import _self as example %}
{% macro stuff(obj) %}
output stuff with {{ obj.name }}, etc...
{% endmacro %}
{% if compress %}
{% spaceless %}
{{ example.stuff(bla) }}
{% endspaceless %}
{% else %}
{{ example.stuff(bla) }}
{% endif %}
使用宏可以避免您必须复制内容。顶部的 import 语句很重要,所以不要忘记它。
page.twig:
{% block page %}
page content
{% endblock %}
index.twig:
{% extends 'page.twig' %}
{% block page %}
{% if compress %}
{% spaceless %}
{{ parent() }}
{% endspaceless %}
{% else %}
{{ parent() }}
{% endif %}
{% endblock %}