各行に3つのフィールドを出力するビューを作成しました。ビューを使用するだけで、出力を次のようにすることができます。
<li>[Field1 Value] [field2 value] [field3 value]</li>
リストアイテムのデータ属性をフィールド値に設定する必要があります。また、コンテンツの詳細ビューにリンクするアンカーを、3つのフィールド値すべてでラップしたいと思います。
twig views-view-view-fields.html.twigのようなテンプレート(汎用的すぎますが、テスト目的のため)を使用しましたが、値がそこにないようです。 {{dump(fields | keys)}}と私のフィールドが表示されますが、{{dump(fields.my_field | keys)}}を実行すると、空の配列になります。
また、page-[viewsによって作成された私のページの名前] .html.twigのようなテンプレートを使用してみましたが、それらのフィールドの値もそこに見つかりませんでした。
私がどこを見るべきか、特にtwig私が作成/オーバーライドする可能性のあるテンプレートと、値を取得する方法についてのアドバイスは、非常に高く評価されます!
テンプレートファイル(views-view-field)では、
<li> {{ row._entity.field_name1.value }} {{ row._entity.field_name2.value }} {{ row._entity.field_name3.value }}</li>
または、テーマの前処理関数で、出力を上書きできます。
function your_theme_name_preprocess_views_view_field(&$variables) {
$view = $variables['view'];
if ($view->storage->id() == 'your_view_name') {
$variables['output'] = '<li>' .
$variables['row']->_entity->field_name1->value .
$variables['row']->_entity->field_name2->value .
$variables['row']->_entity->field_name3->value .
'</li>';
}
}
実際には、ビューテンプレートをDrupal 7.と同じように使用できます。7。ビュー設定の高度な部分にテーマ情報はありませんが、コアビューモジュールのテンプレートフォルダーから基本テンプレートを取得できます。行名ごとにビューテンプレートを作成するには、views-view-fields--VIEW-NAME.html.twigwhereVIEW-NAMEは、ビューのマシン名またはviews-view-fields--VIEW-NAME--DISPLAY-NAME.html.twig DISPLAY-NAMEは、使用しているディスプレイ(ブロック、ページなど)です。テンプレートテーマフォルダーに追加します。
各行を前処理するには、template_preprocess_views_view_fields(&$ variables) function を使用します。
テンプレートでは、このようにフィールドを使用できます{{fields.field_name.content}}
$ rowは、処理されたフィールドエンティティの代わりに必要なものを取得しますか?
{{kint(row.node_field_data_created)}}