是否可以在树枝模板中使用三元运算符?现在,为了将一些类添加到DOM元素取决于某些条件我喜欢这样:
{%if ability.id in company_abilities%}
<tr class="selected">
{%else%}
<tr>
{%endif%}
而不是
<tr class="<?=in_array($ability->id, $company_abilities) ? 'selected' : ''?>">
在本机php模板引擎中。
答案 0 :(得分:233)
{{ (ability.id in company_abilities) ? 'selected' : '' }}
三元运算符记录在“other operators”
下答案 1 :(得分:95)
您可以使用Twig 1.12.0的简写语法
{{ foo ?: 'no' }} is the same as {{ foo ? foo : 'no' }}
{{ foo ? 'yes' }} is the same as {{ foo ? 'yes' : '' }}
答案 2 :(得分:66)
?:
)Twig 1.12.0 中添加了对扩展三元运算符的支持。
案例#1
<强>段:强>
{{ foo ? 'yes' : 'no' }}
<强>评估板:强>
if
foo
echoyes
else echono
案例#2
<强>段:强>
{{ foo ?: 'no' }}
或
{{ foo ? foo : 'no' }}
<强>评估板:强>
如果
foo
回应它,则回显no
案例#3
<强>段:强>
{{ foo ? 'yes' }}
或
{{ foo ? 'yes' : '' }}
<强>评估板:强>
如果
foo
echoyes
否则回显
??
)案例#1
<强>段:强>
{{ foo ?? 'no' }}
<强>评估板:强>
如果<{>>已定义且不为空,则返回
foo
的值,否则返回no
注意:这与{{ foo|default('no') }}
略有不同,因为后者也会从''
等空值触发。
答案 3 :(得分:0)
例如,如果价格存在于数据库中,则打印(价格为 $$$),否则打印(不可用)和 ~
以用于 Twig
中的连接。
{{ Price ? 'Price is '~Price : 'Not Available' }}
答案 4 :(得分:0)
我只是使用 a
作为通用变量名。你也可以使用endless if else:
{{ a == 1 ? 'first' : a == 2 ? 'second' : 'third' }}