我在Durpal中设置了一个管理面板页面,可以提取三个视图。将显示的视图取决于登录的管理员,因此三个管理员中的每个管理员只能看到适用于他们的视图。我已将以下可见性规则添加到所有三个视图(使用相应的uid)。
global $user;
if ($user->uid == 8090){
return TRUE;
} else {
return FALSE;
}
有效。现在,我想更改此设置,以便管理员的同事也可以看到它。我试过这个:
global $user;
if ($user->uid == 8090 || 4090){
return TRUE;
} else {
return FALSE;
}
员工现在可以正确地看到它,但是,现在管理员除了他们之外还看到了其他视图,我们不希望如此。我是php的初学者,这是我第一次尝试它。帮助
我不知道上面的描述是否足够清楚。基本上我想要这个:
查看1:管理员A可见
视图2:管理员B可见
视图3:管理员可见C
成为这个:
查看1:管理员A和员工A可见 视图2:管理员B和员工B可见 视图3:管理员C和关联C可见
谢谢!
答案 0 :(得分:0)
您必须创建三个单独的管理员角色,并使用此代码检查条件以打印视图
全球$ user;
if(in_array(“Admin1”,array_values($ user-> roles)))
{
$ view = views_get_view('VIEWNAME');
if($ view-> access('default')){
print $ view-> preview('default');
}
}
else if(in_array(“Admin2”,array_values($ user-> roles)))
{
$ view = views_get_view('VIEWNAME');
if($ view-> access('default')){
print $ view-> preview('default');
}
}
否则
{
$ view = views_get_view('VIEWNAME');
if($ view-> access('default')){
print $ view-> preview('default');
}
}
将此代码粘贴到page.tpl.php中(或在相关页面中使用它)并将Access设置为每个视图。
我希望至少你能从中得到这个想法。