Content type、basicがあり、field_textとfield_colorの2つのフィールドを持つ段落フィールド(field_pr)を追加しました。 twig template node--basic--full.html.twigがあります。ここには、段落フィールド(node.field_pr)の値を出力する必要があります)。追加できる段落の数は10に制限されているので、node.field_prには最大10個の値があると考えてください。
Content.field_prの配列を出力すると、巨大な配列が表示されますが、field_pr.field_textとfield_pr.field_colorの値のみが必要です。 twigテンプレートからのノードからこれを行うにはどうすればよいですか?実行できません。
以下を試しましたが、値にアクセスできないようです。何が欠けていますか?
{% for field in content.field_pr %}
{{ field[loop.index0].entity.field_text.value }}
{{ field[loop.index0].entity.field_color.value }}
{% endfor %}
{% for field in content.field_pr %}
{{ field[loop.index0]['#paragraph'].field_text.value }}
{{ field[loop.index0]['#paragraph'].field_color.value }}
{% endfor %}
現在のアプローチでそれが可能かどうかはわかりません。これが私がこれに取り組む方法です。
ノードテンプレートファイルで{{ content.field_pr }}
段落のテンプレートファイルを作成します。
パラグラフ_ [ビューモード](例:パラグラフ--default.html.twig)
パラグラフ_ [タイプ](例:パラグラフ--image.html.twig)
パラグラフ_ [タイプ] __ [ビューモード](たとえば、paragraph--image--default.html.twig)
出典: 段落のテーマDrupal 8
paragraph-[type] .html.twigでは、{{ content.field_text }}
および{{ content.field_color }}
私はこれを理解しました。 Twig Tweak を有効にすると、コンテンツを使用せずにノードオブジェクトから段落を印刷できます。
{% for item in node.field_my_paragraph_field %}
{{ drupal_entity('paragraph', item.target_id) }}
{% endfor %}
page--content-type.html.twig
のループ(スライダーなど)で段落フィールドを印刷するには、以下のスニペットを使用します。
{% for item in node.field_paragraph_mac_name %}
{{ item.entity.field_title.value }}
<img src="{{ file_url(item.entity.field_image.entity.fileuri) }}" />
{% endfor %}