我已经安装了模块 - http://drupal.org/project/formblock(允许在块中显示节点创建表单)
我已针对特定内容类型启用它,然后公开该块,以显示何时查看“有机组”节点。
我想要做的是,如果当前登录的用户不是正在查看的“有机组”节点的作者,则隐藏该块。 i.o.w我只希望有机组作者看到那个块。
提前感谢:)
答案 0 :(得分:4)
您可以使用“PHP block visibility settings”来实现您的目标。使用PHP,您可以查询数据库,并检查登录用户是否是在有机组中创建节点的用户。
我已经调整了drupal.org上的an example(您可能需要进一步自定义) -
<?php
// check og module exists
if (module_exists('og')){
// check user is logged in
global $user;
if ($user->uid) {
// check we've got a group, rights to view the group,
// and of type "group_type" - change this to whichever group you want to restrict the block to
// or remove the condition entirely
if (($group = og_get_group_context()) && node_access('view', $group) && ($group->type == 'group_type') ) {
// check current user is a team admin as they should get access
if (og_is_node_admin($group)) {
return TRUE;
}
// check to see if the current user is the node author
if (arg(0) == 'node' && is_numeric(arg(1))) {
$nid = arg(1);
$node = node_load(array('nid' => $nid));
if ($node->uid == $user->uid) {
return TRUE;
}
}
}
}
}
return FALSE;
?>