web-dev-qa-db-ja.com

twigテンプレートでブール値をチェックする方法は?

記事のコンテンツタイプの ECK Bundle にfield_boolean(ブールフィールド)があります。調査中に、「 twigテンプレート? 」のブールフィールドをテストする方法」という質問に遭遇しましたが、それは私の問題を解決しません。

ブール値をチェックする適切な方法は何ですか?

私たちは試みましたが、うまくいきません:

{% if entity.field_boolean == True %}
{% if '1' in entity.field_boolean[0] %}

これらは動作するように見えますが、それが正しいアプローチであるかどうかはわかりません。

{% if entity.field_boolean[#items].value == '1' %}
{% if entity.field_boolean[#items].value %}
7
usernameabc

しばらく前から私のブログ投稿の別のプロモーションの時間:)

https://www.md-systems.ch/en/blog/techblog/2017/02/20/twig-and-entity-field-api-or-how-to-take-control-of- nodehtmltwig

関連部分:

チェックボックスがオンの場合にのみフィールドを表示します。オプションでカスタムラッピングHTMLを使用します。

{% if node.field_checkbox.value %}
   <div class="only added when there are values">
  {{ content.field_name }}
  </div>
{% endif %}

必要ありません== '1'またはそれと同じ、またはそのようなものです。これは、ブール値として直接評価されるためです。また、コンテンツエンティティはタイプセーフではないため、コンテンツエンティティでタイプセーフチェックを使用することはお勧めしません。値はデータベースに保存され、そこから出力されるものはすべて文字列ですが、値がそうでない場合もあります。ブールフィールドは実際にはその完璧な例です。これは文字列フィールドであり、別名3つの異なるデータ型のニースミックスです。

15
Berdir

チェックボックスフィールドの値のチェックインTwigテンプレートdrupal 8:

{% if node.field_checkbox['#items'].value == '1' %}
  <div class="only added when there are values">
    {{ content.field_name }}
  </div>
{% endif %}

それは私にとってはうまくいきます。

4
Maxim Kashuba

私にとって、1つのテストが一貫して機能しませんでした。ただし、次の条件はすべてのユースケースをカバーしているようです。

{% if content.field_boolean is not empty and node.field_boolean.value == '1' %}
1
makbeta

コンテンツタイプにブールフィールドを作成した場合、これは私にとってうまくいきました

{%if node.field_boolean.value == 1%} {{page.contact_form}} {%endif%}

また、段落にブール値フィールドがある場合、これは私にとってうまくいきました

{%if content.field_boolean ['#items']。value == 1%} {{content.field_description}} {%endif%}

0
santhosh