Drupal - блокировать видимость - PullRequest
1 голос
/ 10 ноября 2010

Я использую приведенный ниже код в настройках видимости блока, чтобы показать блок, только если пользователь является участником, а не администратором.

Что можно добавить для дальнейшей фильтрации по типу узла органической группы.

iow Отображается только в том случае, если просматриваемая текущая группа = Узел органической группы Тип 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 Ответ

2 голосов
/ 10 ноября 2010

Может быть что-то вроде "

<?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;
?>
...