私はDrupal 8.を使用しています。ノードテンプレートに段落フィールド(フィールドタイプ:参照リビジョンの段落)があります。フィールドが空かどうかを確認する方法をたくさん試しました(目的は表示することです)フィールドにのみ値があります)。
<code>
{# Below codes in node.html.twig #}
{# Below codes NOT work #}
{% if content.field_notes.0 is empty %}
This field is empty-1.
{% endif %}
{% if content.field_notes[0] is empty %}
This field is empty-2.
{% endif %}
{# Enable module:twig field value #}
{% if content.field_notes|field_value is empty %}
This field is empty-3.
{% endif %}
{% if node.field_notes.isempty %}
This field is empty-4.
{% endif %}
{% if node.field_notes.value is empty %}
This field is empty-5.
{% endif %}
</code>
Drupal 8)のノードテンプレートで段落フィールドが空かどうかを確認するにはどうすればよいですか?
UPDATE:テスト済みのコードとその結果、段落では機能せず、他のいくつかのフィールドタイプでは機能する方法。
{% set count_field_element_1 = node.field_paragraphs|length %} {{ count_field_element_1 }} {# when field has or no value: count_field_element_1 = 2 #} {# paragraphs type contains two field type: image and text plain long #}
{% set count_field_element_2 = node.field_image|length %} {{ count_field_element_2 }} {# when field has value: count_field_element_2 = 1; #} {# when field has no value: count_field_element_2 = 0; #}
{% set count_field_element_3 = node.field_text_plain_long|length %} {{ count_field_element_3 }} {# when field has value: count_field_element_3 = 1; #} {# when field has no value: count_field_element_3 = 0; #}
多分私の質問はあまり明確ではないので、以下で詳しく説明します:この質問の目的は、(他のフィールドタイプではなく)段落フィールドに値があるかどうかを確認することです。フィールド値を入力して保存すると、ノードページにフィールドとその値が表示されます。フィールド値が入力および保存されていない場合、ノードページにはフィールド(div要素を含む)は表示されません。
{% set count_field_element = node.field_paragraphs|length %} {{ count_field_element }}
count_field_elementは以下の場合は1です:
count_field_elementは以下の場合0です(ノードフォームの段落のすべてのフォームアイテムを削除します):
つまり、今までのところ、段落フィールドに値があるかどうかを確認する方法はまだわかりません。ノードフォームで段落のすべてのフォームアイテムを削除する場合にのみ、ノードページに段落フィールドが空と表示されます。
node.field_notes
何かのようなもの
{% set count_paragraph_element = node.field_notes | length %}
{% if count_paragraph_element == 0 %}
Empty
{% else %}
Not empty
{% endif %}
更新
もしチェックしたいならtext plain long
フィールドに空の値があります。これを試してください。
フィールドマシン名はfield_text
:
{% for item in node.field_notes %}
{% if item.entity.field_text.value is empty %}
text value is empty
{% else %}
text value not empty
{% endif %}
{% endfor %}