6

Twigのループを実行しています:

{% for item in items %}
<div class="description">
   Title: {{ item.name }}<br />
   Price: {{ item.price }}
</div>
{% else %}
<p>...</p>
{% endfor %}

item.priceが空の場合、例外がスローされます。特定の値が空のときに、Twigに「何も」を与えないように強制することはできませんか?

または、すべての値に対して常に{%if item.x%} {{item.x}} {%endif%}する必要がありますか?

4

4 に答える 4

13

defaultフィルターを試すこともできます:

{{ item.price|default("nothing") }}
于 2011-10-24T20:37:33.073 に答える
12

config.yml に移動し、そこで以下を設定します。

twig:
    strict_variables: false
于 2011-10-30T17:39:14.430 に答える
5
{% if item.price is defined and item.price not in [''] %}
    {{ item.price }}
{% endif %}

トリックを行う必要があります。または、少なくとも私が過去にそれを処理した方法です。私はTwigの専門家ではありません:)

于 2011-10-24T17:17:13.147 に答える
2

これは、この状況の私の最短バージョンです。

{{ item.price|default }}

default-filter のデフォルトはFALSEであるため、何も出力せず、例外も発生しません。

于 2014-10-22T14:08:37.830 に答える