web-dev-qa-db-fra.com

Imbriqué si autre dans Twig

Existe-t-il un moyen d'implémenter des fonctionnalités imbriquées sinon dans Twig? J'ai essayé ce qui suit mais cela ne fonctionne pas:

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

elseif doit être une seule balise/mot-clé Word et l'expression ne doit pas avoir la même parenthèse que l'expression if.

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>
46
adam187

Vous pouvez également utiliser opérateur ternaire pour raccourcir votre déclaration ...

... et vous ne devriez probablement pas répéter le class=".." partie.

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