0

(也发布为http://drupal.org/node/596860

我想创建一个视图,仅显示那些我还不是成员(或待定成员)的组。但是,这样做的明显方法(采用 og_my 视图并将过滤器“有机组:组成员”更改为 false)不起作用。

原因是 SQL 查询实质上为组中与您的条件匹配的每个用户返回一行。如果您正在搜索自己(如在 og_my 中),每个组节点只会出现一次;如果您不是在搜索自己,则每个组节点都会显示N次,其中N是其他组成员的数量。因此,只要至少还有一个其他成员,我已经是其成员的组就会继续显示。

有没有人有办法解决这个问题?

谢谢,阿德里安

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 选项的特殊处理?

我还发帖希望推动问题对话向前发展。

于 2009-10-06T16:57:38.967 回答
0

荒野。OG Views Extra在您第一次修改此问题的三天后提供。我没有使用它,但看起来它可以做到。

那么为什么要安装这个模块呢?如果您需要更细粒度的控制。可用的用户选项:

  • 不是群组成员
  • 组成员或站点管理员
  • 仅限团体成员
于 2012-04-23T04:34:37.513 回答