Drupal - 阻止可见性

Posted

技术标签:

【中文标题】Drupal - 阻止可见性【英文标题】:Drupal - Block visibility 【发布时间】:2010-11-10 00:03:52 【问题描述】:

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

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

i.o.w 仅当正在查看的当前组 = Organic Group Node Type 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】:

也许像“

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

【讨论】:

以上是关于Drupal - 阻止可见性的主要内容,如果未能解决你的问题,请参考以下文章

PHP Drupal Block可见性:检查UID

PHP Drupal Block可见性:检查节点类型

Drupal块可见性:检查角色

Drupal块可见性:检查UID

PHP Drupal Block可见性:在论坛上显示

PHP Drupal Block可见性:在博客和论坛上显示