Twigは3項(省略形のif-else)演算子をサポートしていますか?
次のような条件付きロジックが必要です。
{%if ability.id in company_abilities %}
<tr class="selected">
{%else%}
<tr>
{%endif%}
しかし、Twigでは速記を使用しています。
Twigは3項(省略形のif-else)演算子をサポートしていますか?
次のような条件付きロジックが必要です。
{%if ability.id in company_abilities %}
<tr class="selected">
{%else%}
<tr>
{%endif%}
しかし、Twigでは速記を使用しています。
{{ (ability.id in company_abilities) ? 'selected' : '' }}
三項演算子は「他の演算子」の下に文書化されています
Twig1.12.0以降の省略構文を使用できます
{{ foo ?: 'no' }} is the same as {{ foo ? foo : 'no' }}
{{ foo ? 'yes' }} is the same as {{ foo ? 'yes' : '' }}
拡張三項演算子のサポートは、Twig1.12.0で追加されました。
foo
エコーの場合yes
はエコーno
:
{{ foo ? 'yes' : 'no' }}
エコーする場合foo
はエコーし、そうでない場合はエコーしno
ます。
{{ foo ?: 'no' }}
また
{{ foo ? foo : 'no' }}
foo
エコーする場合yes
は何もエコーしません:
{{ foo ? 'yes' }}
また
{{ foo ? 'yes' : '' }}
nullではなく定義されてfoo
いる場合はの値を返します。それ以外の場合は次の値を返します。no
{{ foo ?? 'no' }}
定義されfoo
ている場合はの値を返します(空の値もカウントされます)。それ以外の場合は次の値を返します。no
{{ foo|default('no') }}
たとえば、データベースから価格が存在する場合は、印刷(価格は$$$)、それ以外の場合は印刷(利用不可)、および~
の連結の場合Twig
。
{{ Price is defined ? 'Price is '~Price : 'Not Available' }}
a
一般的な変数名として使用しました。次のような場合は、無限に使用することもできます。
{{ a == 1 ? 'first' : a == 2 ? 'second' : 'third' }}