4

私はこのようなことをしたい:

{% if compress %}{% spaceless %}{% endif %}
...
{% if compress %}{% endspaceless %}{% endif %}

['compress' => true]PHP からテンプレートに渡してモードをオンにしようとしていspacelessます。ただし、エラーが発生します。テンプレート タグは適切にネストする必要があります。

PHP からスペースレスのオン/オフを切り替えるテクニックはありますか?

4

2 に答える 2

2

代わりに、このようなことを行うには、テンプレートを再構築する必要があります。

{% 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文は重要なので忘れないように。

于 2012-11-27T13:38:08.300 に答える
-2

page.twig:

{% block page %}
page content
{% endblock %}

index.twig:

{% extends 'page.twig' %}
{% block page %}
    {% if compress %}
        {% spaceless %}
           {{ parent() }}
        {% endspaceless %} 
    {% else %}
        {{ parent() }}
    {% endif %}
{% endblock %}
于 2014-08-23T16:44:04.213 に答える