web-dev-qa-db-ja.com

段落内のフィールドから値にアクセスして印刷しようとしています

段落内の値に手動でアクセスして印刷しようとすると問題が発生します。これは、私が作成した段落フィールドテンプレートのスニペットです。 Drupal {{ slides.content }}を使用してマークアップを生成するのではなく、手動で値にアクセスして印刷したいので、自分でマークアップをカスタマイズできます

{% for slides in items %}
    {{ slides.content['#options'].entity.field_label.value }}
{% endfor %}
1
clestcruz

これが、段落テンプレートのフィールドの一部を手動で取得するために機能したものです。

これは実際の段落のフィールドテンプレートにあるので、私にとってはfield--field-paragraph.html.twigです。マシン名field_imageの画像フィールドがあります。これは、その画像の代替テキストのみを印刷します。

{% for item in items %}
  {{ item.content['#paragraph'].field_image.0.alt }}
{% endfor %}

段落テンプレートを操作するためにここを探しました: https://www.drupal.org/project/paragraphs/issues/2662766#comment-12528934 と一般的なdrupal = 8フィールドの取得: https://blog.usejournal.com/getting-drupal-8-field-values-in-twig-22b80cb609bd

2
Sarah C

このような場合はフィールドテンプレートを使用せず、代わりにエンティティテンプレート(paragraph--BUNDLETYPE.html.twigなど)を使用することをお勧めします。

エンティティテンプレートでは、{{ content.field_whatever }}などの任意のサブフィールドのレンダリングされたHTML出力にアクセスできますが、{% if paragraph.field_whatever.value == 'foo' %}などの生のフィールド値にもアクセスできます

1
Hudri