web-dev-qa-db-ja.com

現在の記事の関連コンテンツを一覧表示するビューを作成するにはどうすればよいですか?

コンテンツタイプの記事に関連するコンテンツ(一部の記事)を一覧表示するビューを作成しようとしています。

これが私がやったことです。コンテンツタイプ「記事」にフィールド「エンティティ参照」を作成しました。できます。データベースで関連記事IDを確認できます。

enter image description here

次に、ブロック付きのビューを作成します。それは機能し、そのビューにリストされているすべての記事を見ることができます(各記事に表示されます)。

これが私の問題です。現在の記事に関連する記事のみを表示する必要があります。したがって、コンテキストフィルターでは、コンテンツ:IDを試し、高度な/関係も試しましたが、成功しませんでした。関連記事が表示されません。

enter image description here

enter image description here

enter image description here

どのようにできるのか ?

私は別の方法(小枝を作成する)も試しましたが、それがうまくいくとしても、それは私が考える最良の解決策ではありません

1

ビューのフィールドの使用を無視します。これは、これまでも、そしてこれからもずっと、人々が行っているビューの95%にとってIMOの問題となっています。

enter image description here

正しいノードが選択されるように、URLのコンテンツID引数が必要ですが、ここで次のようになります。

「コンテンツ」を表示するビューを設定し、ビューモードを指定します。たとえば、ノードの「関連コンテンツ」というビューモードを作成します。その表示モードのフィールド表示で、「関連記事」フィールドのみが表示されるように設定します。そのフィールドフォーマッターを「レンダリングされたエンティティ」に設定し、thatコンテンツタイプのビューモードを作成してテーマを設定します。そのコンテンツタイプでは、タイトルと本文、または表示したい任意のフィールド(デザインを見なければ分からない)があります。

これで、ビューはノードをプルしてレンダリングし、ビューモードで参照されているノードをレンダリングします。

それから、あなたはこのようなものを得るでしょう、例えば:

enter image description here

これは、現在のノードを見てレンダリングするビューです。ビューモードには、ノード参照であるフィールド(関連コンテンツ)があり、それらのノードは「プレビュー」ビューモードでレンダリングされており、これが結果です。すべてのマークアップは2つのtwigファイル(node--node-type--view-mode.html.twigの場合))にあり、ビューの構成は非常に簡単です。

ビューの表示はブロックになり、そのブロックを自分に合った領域に配置できます。

4
Kevin