0

我在 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 可见

谢谢!

4

1 回答 1

0

您必须创建三个单独的管理员角色并使用此代码检查打印视图的条件

全局$用户;
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 中(或在相关页面中使用)并设置每个视图的访问权限。

我希望至少你能从中得到想法。

于 2012-12-11T10:31:32.807 回答