editar - symfony twig
¿Cómo se verifica si existe un objeto en el motor de plantillas Twig en Symfony2? (2)
Tengo una matriz multidimensional donde algunos objetos existen y otros no. Sigo recibiendo un
El método "código" para el objeto "stdClass" no existe en ... ?
El código que estoy usando en mi plantilla es:
{% for item in items %}
<p>{% if item.product.code %}{{ item.product.code }}{% endif %}</p>
{% endfor %}
Algunos productos no tienen este código y, lamentablemente, esta estructura de datos se proporciona a través de un feed, por lo que no puedo modificarla.
Cuando miré la documentación de Twig, interpreté que si un objeto o método no estaba allí, ¿volvería a ser nulo?
Rápidamente hizo una búsqueda, espero que esto funcione para usted: p
verificaciones definidas si una variable está definida en el contexto actual. Esto es muy útil si usa la opción strict_variables:
{# defined works with variable names #}
{% if foo is defined %}
...
{% endif %}
{# and attributes on variables names #}
{% if foo.bar is defined %}
...
{% endif %}
Si está buscando una clave / variable dentro de un objeto de matriz multidimensional, entonces, (si object.object.key
está definido) no funcionó para mí.
Pero (si object.object[''key'']
está definido) o (si object.object.get(''key'')
está definido) funciona bien.