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