如何检查Symfony2中的Twig模板引擎中是否存在对象?
我有一个multidimensional array,其中存在一些对象,而其他人则不存在。 我不断得到一个
对象“stdClass”的方法“代码”不存在于… ?
我在我的模板中使用的代码是:
{% for item in items %} <p>{% if item.product.code %}{{ item.product.code }}{% endif %}</p> {% endfor %}
有些产品没有这个代码,不幸的是这个数据结构是通过一个feed来提供的,所以我不能改变它。
当我看到树枝文档时,我解释说,如果一个对象或方法不在那里,它只会返回null?
很快做了一个查询,希望这是适合你的:p
定义
定义的检查是否在当前上下文中定义了一个variables。 如果使用strict_variables选项,这非常有用:
{# defined works with variable names #} {% if foo is defined %} ... {% endif %} {# and attributes on variables names #} {% if foo.bar is defined %} ... {% endif %}
如果您正在检查multidimensional array对象中的键/variables,那么(如果定义了object.object.key
)不适用于我。
但是(如果定义了object.object['key']
)或者(如果定义了object.object.get('key')
)效果很好。