私は Signup モジュールを使用しており、サインアップしたユーザーのすべてのイベントとアバター(デフォルトDrupalユーザー画像フィールド)を表示するビューを作成しようとしています各イベント。
これが私が達成しようとしていることのモックアップです。私は今のところアバター以外のすべてを持っています。
このようなことをすることは、その限界にビューを押し上げることです。大量のデータを取得し、ノードIDでグループ化したいとします。ビューのインターフェイスを介してこれが可能かどうかはわかりませんが、ビューを実行しているエンジンで可能になると思います。
このかなり複雑なビューを達成しようとするのではなく、変更が難しくなる可能性がありますが、これは、より単純なクエリを使用して非常に簡単に行うことができます。このような単純なソリューションは次のようになります。
idealは、これらすべてを単一のビューで作成することですが、場合によっては、コストと利益を比較することを考える必要があります。サインアップしたノードを数百個リストアップしない限り、パフォーマンスの違いを測定できるとは思えません。しかし、この方法でそれを行うことで節約する時間はかなり多くなります。
これはビュー自体と同じで、非効率的ですが、ほとんどのサイトにとって重要ではなく、クエリやテーマ関数などをコーディングする必要がないため、多くの時間を節約できます。
更新:
引数(ノードIDなど)を使用してビューを埋め込むのは非常に簡単です。
$html = views_embed_view($name, $display_id, $arguments)
またはあなたの場合
$html = views_embed_view('signup_user_list', 'default', array('nid' => $nid));
「イベント」という名前の「グループ」を作成します。すべてのOGモジュールをインストールする必要はなく、ほんの一部です。グループコンテンツタイプを作成する必要はありません。単に「イベント」が必要です。
人々はイベントを作成し、イベントに参加します。グループのデフォルトのアクセス許可に移動し、サブスクライブせずにイベントに参加できるようにして、グループをパブリックにします。
「文字列置換」モジュールを使用して、一部の言語を好みに合わせて簡単にカスタマイズしたり、グループテーマ関数をオーバーライドしたりすることができます。 「文字列置換」はシンプルで高速ですが、少し普遍的すぎる場合があります(それはあなた次第です)。どちらでも、参加の言語を思い通りにすることができます。テンプレートのオーバーライドにより、ユーザーインターフェイスに追加の変更を加えることができます。
ビューとカスタムtemplate.tpl.phpを使用してください!できた!その高速、軽量で簡単。ユーザーは、自分が「グループ」に参加していることを知ることは決してなく、得られる結果はあなたが望むものと完全に一致します。やさしい!
コンテンツタイプにユーザー参照が含まれていない場合は、ユーザー参照を追加し、関係付きでビューに含めます。