树枝空变量 - >例外?

时间:2011-10-24 17:14:52

标签: symfony twig

我在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 个答案:

答案 0 :(得分:13)

您也可以尝试default filter

{{ item.price|default("nothing") }}

答案 1 :(得分:12)

转到config.yml并在其中设置以下内容:

twig:
    strict_variables: false

答案 2 :(得分:5)

{% if item.price is defined and item.price not in [''] %}
    {{ item.price }}
{% endif %}

应该做的伎俩,或者至少我过去如何处理它。我不是Twig专家:)

答案 3 :(得分:2)

这是我对这种情况的最短版本:

{{ item.price|default }}

default - 过滤器的默认值为FALSE,因此它不会输出任何内容而不会引发异常。