如何检查Symfony2中Twig模板引擎中是否存在对象?

时间:2011-08-11 23:17:40

标签: symfony twig

我有一个多维数组,其中存在一些对象而其他对象则不存在。我一直在

对象“stdClass”的方法“代码”在...中不存在

我在模板中使用的代码是:

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

有些产品没有此代码,不幸的是这个数据结构是通过Feed提供的,所以我无法更改它。

当我查看Twig文档时,我解释说如果没有对象或方法,它只会返回null?

2 个答案:

答案 0 :(得分:147)

快速查找,希望这对您有用:p

defined

定义检查当前上下文中是否定义了变量。如果您使用strict_variables选项,这非常有用:

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

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

答案 1 :(得分:0)

如果要在multidimentional数组对象中检查键/变量,那么(如果定义了object.object.key)对我不起作用。

但是(如果定义了object.object['key'])或(如果定义了object.object.get('key'))效果很好。