ギャラリーと画像の2つのコンテンツタイプがあります。画像にノード参照フィールドがあります(urlからのノード参照)。ギャラリーにはノード参照フィールドがありません。
ビューを使用することにより、ギャラリーページにすべての関連画像を表示できます(コンテキストフィルターとしてノード参照フィールド "field_pers_gallery"を使用しています)。
同時に、すべての画像のページに1つのギャラリーに関連するすべての画像を表示するビューを作成する必要があります(すべての画像のフィールドfield_pers_galleryの値は同じです)。関連画像を含むFlickr画像ページのようなビューを作成したいと思います。必要なビューを作成するための適切なコンテキストフィルターを選択できないため、問題があります。
次の例を試しましたが、何の助けにもなりませんでした。理由がわかりません。
誰かが私にアドバイスを手伝ってくれる?
ここでは、ノード参照フィールド(field_pers_gallery)をコンテキストフィルターに追加するだけで、そのフィールドに同じ値を持つすべてのノード(画像)をページに表示できる簡単な解決策があると思います。
ノード参照についてはわかりませんが、別の回答が参照フィールドに エンティティ参照 を提案しているので、その提案に便乗します。
エンティティ参照を設定すると、ビュー管理UIの関係ビルダー内に「逆参照」を追加できるようになります。これらは次のように読みます
"エンティティ参照:参照エンティティ"
(参照エンティティとは対照的に)...
これらは次のようになります。
探しているリバースリファレンスを確立するには、少し慣れる必要があります。作業が終わったら、「ここを指すノード」や、場合によっては「[ギャラリー]に表示される:」などの意味のある管理ラベルを付けると役立ちます。
エンティティ参照 モジュールを使用して、現在のノードが参照しているのと同じノードを参照する他のノードを表示するソリューションを次に示します。関係は必要ありません。次の手順に従ってください。
次のコードをフィールド名²に適合させ、コンテキストフィルターを保存します。
$ node = menu_get_object();
$ referenced_node = $ node-> field_YOUR_FIELD_NAME ['und'] [0] ['target_id'];
戻り$ referenced_node;
ビューを保存してチェックアウトします。
¹免責事項:PHPセキュリティ、パフォーマンス、およびバージョン管理の不足の懸念があるため、UIで使用しないでください結果として、このソリューションを実装するproper方法には、ブロックでレンダリングするときに引数をビューに渡すブロックを作成する独自の単純なモジュールを記述する必要があります。人々がこの警告を無視するか、それをモジュールの記述に使用するかにかかわらず、うまくいけばそれが役に立ったので、これはまだ含まれています。
²フィールド名がわかりませんか? Devel モジュールをインストールして有効にし、ノードにアクセスします。 「開発」タブをクリックしてリストをナビゲートし、目的のエンティティ参照フィールドを見つけます。