twigテンプレートで三項演算子を使用できますか?さて、いくつかのクラスをDOM要素に追加するには、いくつかの条件に依存します。
{%if ability.id in company_abilities%}
<tr class="selected">
{%else%}
<tr>
{%endif%}
の代わりに
<tr class="<?=in_array($ability->id, $company_abilities) ? 'selected' : ''?>">
ネイティブphpテンプレートエンジン。
{{ (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.に追加されました。
事例#1
スニペット:
{{ foo ? 'yes' : 'no' }}
評価:
if
foo
echoyes
else echono
ケース#2
スニペット:
{{ foo ?: 'no' }}
または
{{ foo ? foo : 'no' }}
評価:
foo
をエコーする場合、そうでない場合はno
をエコーします
ケース#3
スニペット:
{{ foo ? 'yes' }}
または
{{ foo ? 'yes' : '' }}
評価:
if
foo
echoyes
else echo何もエコーしません
??
)事例#1
スニペット:
{{ foo ?? 'no' }}
評価:
定義済みおよびnull以外の場合は
foo
の値を返し、それ以外の場合はno
を返します
注:これは{{ foo|default('no') }}
とは少し異なります。後者は''
のような空の値からもトリガーされるためです。