2015-11-12 43 views
1

我的控制器将一个名为'petition'的变量发送给Twig以下的关联数组;在关联数组上需要关于Twig问题的帮助

Array 
(
    [0] => stdClass Object 
     (
      [id] => 1 
      [doctype] => "somedoc" 
      [nrdoc] => "99" 
      [datadoc] => "2015-01-01" 
     ) 
    [1] => stdClass Object 
     (
      [id] => 2 
      [doctype] => "otherdoc" 
      [nrdoc] => "100" 
      [datadoc] => "2015-01-01" 
     ) 
) 

然后,在我的嫩枝模板(视图)我这样做:

{% for id in petition %} 

     {% if id.doctype == 'somedoc' %} 
      {{id.nrdoc}}/{{id.datadoc}} 
     {% else %} 
       UNDEFINED! 
     {% endif %} 

    {% endfor %} 

的问题是,我无法弄清楚如何输出逻辑“未定义!”只有一次,如果doctype!=“somedoc”,那么当数组中有其他key-> value元素时。我这样做的方式,它会输出“UNDEFINED!”每次脚本循环...

预先感谢您的帮助

加布里埃尔

回答

2

一个变型,可以定义此一个额外的变量:

{% set undefined = false %} 

{% for id in petition %} 
    {% if id.doctype == 'somedoc' %} 
     {{ id.nrdoc }}/{{ id.datadoc }} 
    {% else %} 
     {% set undefined = false %} 
    {% endif %} 
{% endfor %} 

{% if undefined == true %} 
    UNDEFINED! 
{% endif %} 

你可以阅读更多关于设置枝条变量here

+0

谢谢,西亚!如果我是用php做的话,我会用相似的逻辑来完成它。不幸的是,我是Twig的新手,我并没有意识到它实际上可以在模板中定义变量!你救了我的一天:)...是的,我知道......应该在文档中阅读... :) –

+0

@GabrielMaftei欢迎您!如果您认为这有帮助,请接受答案。 – chapay