0

( http://drupal.org/node/596860としても投稿されています)

私がまだメンバーになっていない (または保留中のメンバーである) グループのみを表示するビューを作成したいと考えています。ただし、これを行う明白な方法 (og_my ビューを使用して、フィルター "Organic groups: Group member" を false に変更する) は機能しません。

その理由は、SQL クエリは基本的に、条件に一致するグループ内のすべてのユーザーに対して 1 つの行を返すためです。(og_my のように) 自分自身を検索している場合、各グループ ノードは 1 回だけ表示されます。自分自身を検索していない場合、各グループ ノードはN回表示されます。ここで、Nは他のグループ メンバーの数です。したがって、私がすでにメンバーになっているグループは、他のメンバーが少なくとも 1 人いる限り、引き続き表示されます。

誰もこれを回避する方法を持っていますか?

ありがとう、エイドリアン

4

2 に答える 2

1

ビューはサブクエリをサポートしていないため、ビューでこれを直接実現できない場合があります。私のSQLは次のようになりました:

SELECT node.nid AS nid, node.title AS node_title  FROM node node   LEFT JOIN og_uid og_uid ON node.nid = og_uid.nid  WHERE (node.type IN ('campaign','setting','system')) AND node.nid NOT IN (select nid from og_uid where uid = 1);

このようなクエリの結果をテーマ設定のためにプログラムで Views システムに転送できると言われています。

おそらく、引数 Organic Groups:Member of a Group、Exclude Argument オプションの特別な処理でしょうか?

また、問題の会話を進めることを期待して、to do も投稿しました。

于 2009-10-06T16:57:38.967 に答える
0

野生。OG Views Extraは、この質問の最初の改訂から3日後に公開されました。私はそれを使用していませんが、それができるように見えます。

では、なぜこのモジュールをインストールするのでしょうか? よりきめ細かい制御が必要な場合。利用可能なユーザー オプション:

  • グループメンバーではありません
  • グループ メンバーまたはサイト管理者
  • 団体会員限定
于 2012-04-23T04:34:37.513 に答える