2013-11-02 18 views
15

Esiste un modo per implementare la funzionalità nidificata if else nel ramoscello? Ho provato quanto segue ma non funziona:Se nidificato in Twig

<body 
     {% if page|default('login') == 'login' %} 
       class="login" 
     {% else if(page == 'other') %} 
       class="login" 
     {% else %} 
       class="noclass" 
     {% endif %}> 
</body> 

risposta

31

elseif necessità di essere sola parola tag/parola chiave e l'espressione non dovrebbero avere parentesi stessa if espressione.

http://twig.sensiolabs.org/doc/tags/if.html

<body 
    {% if page|default('login') == 'login' %} 
      class="login" 
    {% elseif page == 'other' %} 
      class="login" 
    {% else %} 
      class="noclass" 
    {% endif %}> 
</body> 
8

È possibile utilizzare il aswell ternary operator per abbreviare la sua dichiarazione ...

... e probabilmente non dovrebbe ripetere la parte class="..".

<body class="{{ page|default('login') in ['other','login'] ? 'login' : 'noclass' }}">