我有大约6个不同的小组,例如A队,B队等。我想为其中一组显示一个区块。正在考虑检查登录用户gid = X然后显示块。这样我可以设置6个不同的块,所有块都针对不同的组,这样当用户登录时,它将为它们显示相关的块。那有意义吗?我该如何实现它?
答案 0 :(得分:1)
根据您的确切设置,Context模块似乎可以为您提供帮助。
这是你如何做到的。
创建新上下文允许您仅为某些上下文显示某些块。示例上下文仅显示某些页面上的块(通过路径上下文)或仅针对特定角色的用户(通过用户角色上下文)或甚至某些节点类型或者在附有特定术语的页面上等。
在您的情况下,如果您使用“有机组”模块来实现用户组,则上下文将与其集成。这意味着当您创建上下文时,“条件”部分下将有一个选项,用于选择要为其显示某些块的有机组。您可以在“反应”部分选择要显示的确切块。
如果有帮助,请告诉我们!
答案 1 :(得分:1)
经过一周多的研究和游戏,我找到了一些代码并将其修改为我需要的内容。
<?php
global $user;
$uid = $user->uid;
$result = db_query ( "SELECT * FROM {og_membership}
WHERE etid = :uid
and entity_type = 'user'
order by gid DESC", array (':uid' => $uid ) );
foreach ( $result as $row ) {
$gid = $row->gid;
break;
}
?>
<?php if ($gid == "GROUP ID HERE"): ?>
(load block here)
<?php endif; ?>