如果在Twig中嵌套了

时间:2013-11-02 06:20:31

标签: symfony twig conditional

有没有办法在twig中实现嵌套if else功能?我尝试过以下但是没有用:

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

2 个答案:

答案 0 :(得分:41)

elseif必须是单字标记/关键字,表达式不应具有与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>

答案 1 :(得分:10)

您也可以使用ternary operator来缩短您的陈述......

......你可能不应该重复class=".."部分。

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