禁用{%spaceless%}标记内的块内无空间

时间:2014-08-07 22:05:45

标签: html symfony twig

我有一个名为content的Twig块来呈现网页的所有实际内容。此块位于{% spaceless %}标记内。

{% spaceless %}
    ... some HTML ...
    {% block content %}{% endblock %}
    ... more HTML ...
{% endspaceless %}

content块被实际内容替换。例如:

{% block content %}
    ... some HTML ...
    <article>
        Some text with <em>a tag</em> <strong>and</strong> <em>another tag</em>
    </article>
    ... more articles, sections, etc. ...
{% endblock %}

此特定示例呈现为

<article>
Some text with <em>a tag</em><strong>and</strong><em>another tag</em></article>

由于spaceless标记,连续标记之间的所有空格都被删除了。这显然是一种不必要的副作用。

是否可以(临时)禁用spaceless内的block功能?不正确地嵌套spaceless标签,即。,

是行不通的
{% block content %}
    ... some HTML ...
    <article>
        {% endspaceless %}
        Some text with <em>a tag</em> <strong>and</strong> <em>another tag</em>
        {% spaceless %}
    </article>
    ... more articles, sections, etc. ...
{% endblock %}

因为这将引发异常:

  

意外的标记名称“endspaceless”(期望定义“block”标记的结束标记)

1 个答案:

答案 0 :(得分:0)

如果无空间标签做某事它不应该做,那么你应该删除它,或者设置一个条件,只有在需要时它才显示。只是想一想..;)

另一方面,你当然可以试试这个:

{% spaceless %}
... some HTML ...
{% endspaceless %}    
{% block content %}{% endblock %}
{% spaceless %}
... more HTML ...
{% endspaceless %}