32

有没有办法在树枝中实现嵌套的 if else 功能?我尝试了以下方法,但它不起作用:

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

2 回答 2

61

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>
于 2013-11-02T07:05:03.313 回答
11

您也可以使用三元运算符来缩短您的语句...

...而且您可能不应该重复该class=".."部分。

<body class="{{ page|default('login') in ['other','login'] ? 'login' : 'noclass' }}">
于 2013-11-02T09:03:49.630 回答