Drupal - 阻止可见性

时间:2010-11-10 00:03:52

标签: drupal organic-groups

我在块可见性设置中使用以下代码,仅在用户是成员时显示块,而不是管理员。

我可以添加什么来进一步将其过滤到有机组节点的类型。

i.o.w仅显示正在查看的当前组=有机组节点类型X

<?php
  $in_og = FALSE;
if (module_exists('og')){
  $in_og = FALSE;
  $group_node = og_get_group_context();
  $gid02 = $group_node->nid;
  $gid = (int)$gid02;
  if ($gid02 == null) $gid = 0; 
  if (og_is_group_member($group_node)) $in_og = TRUE;
  if (og_is_group_admin($group_node)) $in_og = FALSE;
  if ($gid == 0) $in_og = FALSE;
}
return $in_og;

感谢

1 个答案:

答案 0 :(得分:2)

也许像“

<?php
    $in_og = FALSE;
    $right_group = FALSE;
    if (module_exists('og')) {
        // get OG $group_node
        $group_node = og_get_group_context();
        if ($group_node->type == 'type-x') {
            // we have the correct group type
            $right_group = TRUE;
        }
        $gid = $group_node->nid;
        if (og_is_group_member($group_node)) {
            // show to members
            $in_og = TRUE;
        }
        if (og_is_group_admin($group_node)) {
            // hide from admins
            $in_og = FALSE;
        }
    }
    return $in_og && $right_group;
?>