2012-11-11 115 views
1

我使用的Silex与枝条,而我试图找到一个关键的发生。嫩枝错误

由于密钥并不总是存在,方法1将失败,一个例外。在另一方面方法2工作没有错误,但我想,以避免额外如果条件。

可以这样做吗?

方法1:

{% if app.session.get('shop').modules.promotion %} 
    exists 
{% endif %} 

方法2:

{% if app.session.get('shop').modules is not empty %} 
    {% for id, config in app.session.get('shop').modules %} 
     {% if id == 'promotion' %} 
      exists 
     {% endif %} 
    {% endfor %} 
{% endif %} 

谢谢!

回答

2

您可以使用is defined

{% if app.session.get('shop').modules.promotion is defined %} 
    exists 
{% endif %} 

更多信息有关defined可以在这里找到:
Twig: Defined documentation