web-dev-qa-db-ja.com

エンティティ参照を持つビュー

なぜこれが難しいのか分かりません。シンプルなようです。コンテンツタイプAとコンテンツタイプBがあります。コンテンツタイプBにはコンテンツタイプAへのエンティティ参照フィールドがあります。コンテンツタイプBには画像フィールドがあります。

タイプAのビューを表示し、それを参照するタイプBのすべての画像を表示します。

私はどこを見ても、意味がありません。誰かが私を正しい方向に向けてもらえますか?

編集済み:自分がやろうとしていることの概念を説明すると役立つと思います。表示したいプログラムがあります。私が持っているプログラムごとに、1人以上のスポンサーがプログラムに寄付します。ビューを表示するとき、プログラムコンテンツ(コンテンツA)だけでなく、プログラムに寄付するすべてのスポンサーのロゴ(コンテンツタイプB)も表示したいと思います。現在、ロゴごとに、プログラム(コンテンツA)のフィールドが重複しています。

3
vintorg

あなたの場合、私は EVAフィールドモジュールDisplay Suiteモジュール と組み合わせて使用​​します。

EVAフィールドモジュールは、ビューをノード、ユーザー、用語などに動的にアタッチできる追加のビュー表示プラグイン(EVAフィールド表示)を提供します。

Display SuiteモジュールはEVAと連携して機能し、ノードの表示レイアウト内の任意の場所に添付ビューを配置できるようにします。

コンテンツビューを作成し、EVAフィールド表示を追加します。この画面のエンティティコンテンツ設定で、次を選択します。

  1. エンティティタイプのノード
  2. バンドルのコンテンツタイプA
  3. 引数はそのままにします(id)

次に:

  1. Aを参照するコンテンツタイプBにあるエンティティ参照フィールドの関係を追加します。
  2. コンテンツタイプBから必要なフィールドを追加します。
  3. コンテンツタイプのフィルターを追加=コンテンツタイプB
  4. エンティティ参照の関係を持つコンテキストフィルターコンテンツnidを追加します!
  5. クエリ設定に移動し、Distinct設定を確認します。

タイプAのすべてのノードについて、ノードタイプBの対応するフィールドを表示するEVAフィールドビュー表示がアタッチされます。DisplaySuiteを使用すると、このアタッチビューをノードレイアウトの任意の場所に配置できます。

お役に立てれば。

5
Billy

次の手順は、問題の解決に役立つ場合があります。

  • 最初にEntity Reference: Referenced Entity-コンテンツタイプBフィールド(スポンサー)-関係メニューを追加します。
  • 次に、コンテンツタイプB(スポンサー)の画像フィールドを追加し、ドロップダウンリストから関係を選択します(最初のステップで追加した関係)。
  • タイトルフィールドContent: Titleを編集し、Exclude from displayをオンにして適用します。
  • フォーマットメニューから設定を編集し、Content: TitleドロップダウンからGrouping field Nr.1を選択して、Use rendered output to group rowsを確認して変更を適用します。

上記のソリューションは、コンテンツタイプA(プログラム)の重複を排除します。

3
Aboodred1

ルールモジュールを使用すると、コンテンツAからページを表示したときに、コンテンツBの画像を表示するビューを設定できます。

1
CR47

ビューでは、関係を追加する必要があります。

タイプAのコンテンツを表示するビューを作成します。

コンテンツタイプAにあるエンティティ参照フィールドの関係を追加します。

次に、コンテンツタイプBの画像フィールドであるビューにフィールドを追加し、そのフィールドの設定で以前に追加した関係を選択します。

さらに説明が必要な場合はお知らせください。

0
rooby