web-dev-qa-db-ja.com

twigテンプレートでブールフィールドをテストする方法は?

field_booleanはブールフィールドです。

{% if content.field_boolean == true %}または{% if content.field_boolean == 1 %}または{% if content.field_boolean == 'true' %}または{% if content.field_boolean == '1' %}機能しません。

チェックボックスがチェックされているかどうかをテストするにはどうすればよいですか?

8
Pim

レンダー配列ではなく、生の値を確認したいとします。

例:

{% if node.field_foo is not empty %}

これにより、フィールドが存在するかどうかが確認されます。レンダー配列は、値のレンダリング以外には役立ちません。

contentを見ないでください。これは単にレンダリング配列です。エンティティオブジェクト(ノード、段落など)のフィールドを確認します。 Twig XDebugをインストールして、テンプレートにブレークポイントを設定するか、mytheme.theme

あなたすべき{% if node.field_foo.value ... %}等価チェック。

13
Kevin

これが私がこれを解決した方法です、それは twig_field_value プロジェクトを必要とします。

ブールフィールドのオンとオフの値をそれぞれ1と0に設定します。

小枝で:

{% if content.field_foo|field_raw('value')|number_format(0,'.',',') is same as('0') %} <span>the box is NOT checked</span> {% endif %}

1
bdanin

これでうまくいきます。
{% if '1' in content.field_name.0 %} {{ "anything" }} {% endif %}

ソース

0
Aditya Joshi