2011-10-24 11 views
5

estoy corriendo a través de un bucle en la ramita:Twig Empty Variable -> Exception?

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

Si item.price está vacía, me lanza una excepción. ¿No puedo simplemente forzar a Twig a dar "nada" cuando cierto valor está vacío?

¿O siempre necesito {% if item.x%} {{item.x}} {% endif%} para todos los valores?

Respuesta

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

Debe hacer el truco, o al menos es así como lo he manejado en el pasado. No soy un experto en la ramita aunque :)

+1

Un reemplazo un poco mejor es '{% if item.price está definido y item.price no está vacío%}', aunque mi voto va a la respuesta '@ Problematic'. –

11

Ir a config.yml y establezca las siguientes existen:

twig: 
    strict_variables: false 
2

Ésta es mi versión más corta para esta situación: por defecto

{{ item.price|default }} 

default de -Filter es FALSE, por lo que no generará nada y no generará una excepción.