How do you check if an object exists in the Twig templating engine in Symfony2?

SymfonyTwig

Symfony Problem Overview


I have a multidimensional array where some objects exist and others don't. I keep getting a

Method "code" for object "stdClass" does not exist in...?

The code I am using in my template is:

{% for item in items %}
    <p>{% if item.product.code %}{{ item.product.code }}{% endif %}</p>
{% endfor %}

Some products do not have this code and unfortunately this data structure is provided via a feed, so I cannot change it.

When I looked at the Twig documentation I interpreted that if an object or method was not there it would just return null?

Symfony Solutions


Solution 1 - Symfony

Quickly did a lookup, hope this is works for you :p

defined

defined checks if a variable is defined in the current context. This is very useful if you use the strict_variables option:

{# defined works with variable names #}
{% if foo is defined %}
    ...
{% endif %}

{# and attributes on variables names #}
{% if foo.bar is defined %}
    ...
{% endif %}

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAdam StaceyView Question on Stackoverflow
Solution 1 - SymfonyTjorriemorrieView Answer on Stackoverflow