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


84

我有一个多维数组,其中某些对象存在而其他对象不存在。我不断得到

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

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

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

某些产品没有此代码,很遗憾,此数据结构是通过供稿提供的,因此我无法更改它。

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

Answers:


150

迅速进行了查找,希望这对您有用:p

定义的

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

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

{# and attributes on variables names #}
{% if foo.bar is defined %}
    ...
{% endif %}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.