コンテンツの抽出・表示に関して

数あるCMSの中でdrupalを選んで良かったと感じている今日この頃(他のを試したわけではないですが)。
さて、表題の通りコンテンツの抽出・表示に関して質問があります。

現在あるコンテンツタイプではその分類・関連づけにNodereferenceを利用しております。

例えばNode:Aというノードをnode:a-1, node:a-2, node:a-3というノードが参照しています。
同じくNode:Bというノードをnode:b-1, node:b-2, node:b-3というノードが参照しています。
さらにNode:Cというノードをnode:c-1, node:c-2, node:c-3というノードが参照しています。

taxonomyでいう、termとnodeの関係みたいなものでしょうか。
こういう構成の中から、viewsを利用して

Views Result
node:a-1
node:b-1
node:c-1

という結果を得たい、すなわち参照されるノードごとに、参照しているノードを一件ずつ表示したい(抽出法はviewsのSort criteriaで制御)と考えております。
Viewsの設定で"items to display"を1にすると本当に一件のみ表示され、そりゃそうだなと納得したりして、実現に至っておりません。

taxonomyを利用した例ですが、以下のページ
http://stackoverflow.com/questions/2638234/drupal-views-display-newest-c...
に、私と同じ質問とそれに対する回答があり、『termの数だけviewsのdisplayを用意せよ』的なアドバイスがなされており、
確かに可能だけど、さすがに現実的でないなと感じています。

一見するとviewsの操作のみで可能と思えるのに、やってみると上手くいかず手詰まりの状態です。
何かいい方法はないものでしょうか。よろしくお願いします。

Comments

解決しました。

お騒がせして申し訳ありません。自分でコードを書いたりするのは無理なので、
カスタムモジュールを導入することにより、検証は不十分ですが、ひとまず解決しました。

利用したのはviewfieldというモジュールです。
予めviewsにて一つの結果を返すビューを作成しておき、その結果をこのモジュールで親ノードに保存。
そして親ノードの一覧を表示するビューを作成し、表示するフィールドとして選択、という再帰的な方法です。
内部の処理としてはviewsのdisplayを多数用意するのと変わらないのかな?と思いますが、
手間が省けて助かりました。

子ノードに変更が加わっても大丈夫そうなので、私の要求は全て満たしてくれそうです。
どなたかの参考になれば幸いです。

Japan

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week