繁体   English   中英

Twig 三元运算符,简写 if-then-else

[英]Twig ternary operator, Shorthand if-then-else

Twig 是否支持三元(简写 if-else)运算符?

我需要一些条件逻辑,例如:

{%if ability.id in company_abilities %}
    <tr class="selected">
{%else%}
    <tr>
{%endif%}

但在 Twig 中使用速记。

{{ (ability.id in company_abilities) ? 'selected' : '' }}

三元运算符记录在“ 其他运算符”下

您可以使用 Twig 1.12.0 的速记语法

{{ foo ?: 'no' }} is the same as {{ foo ? foo : 'no' }}
{{ foo ? 'yes' }} is the same as {{ foo ? 'yes' : '' }}

Twig 1.12.0中添加了对扩展三元运算符的支持。

  1. 如果foo echo yes else echo no

     {{ foo ? 'yes' : 'no' }}
  2. 如果foo回显它,否则回显no

     {{ foo ?: 'no' }}

    要么

    {{ foo ? foo : 'no' }}
  3. 如果foo echo yes else 不回显:

     {{ foo ? 'yes' }}

    要么

    {{ foo ? 'yes' : '' }}
  4. 返回的值foo ,如果它被定义并且不为空no其他方式:

     {{ foo ?? 'no' }}
  5. 返回的值foo ,如果它被定义值也算), no否则:

     {{ foo|default('no') }}

例如,如果价格存在于数据库中,则打印 (Price is $$$) 否则打印 (Not Available) 和~用于Twig的连接。

{{ Price ? 'Price is '~Price : 'Not Available' }}

我只是使用a作为通用变量名。 你也可以像这样使用endless if else:

{{ a == 1 ? 'first' : a == 2 ? 'second' : 'third' }}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM