Php 如何从drupal用户列表中隐藏特定用户
我想从用户列表中隐藏某个用户(具有完全权限的技术管理员)。因为管理员(另一个权限较低的管理员)不会从用户列表中删除此管理员。尽管管理员可以从站点中删除其他用户。 怎么做?试试看Php 如何从drupal用户列表中隐藏特定用户,php,drupal,drupal-6,Php,Drupal,Drupal 6,我想从用户列表中隐藏某个用户(具有完全权限的技术管理员)。因为管理员(另一个权限较低的管理员)不会从用户列表中删除此管理员。尽管管理员可以从站点中删除其他用户。 怎么做?试试看 “管理用户”权限存在很大问题,并且授予的权限太多,这是一个常见问题。使用视图复制用户列表,并在“Nid!=[hidden user's ID]”上设置一个筛选器。您只需更改视图即可。转到视图>管理:用户>编辑。然后在筛选条件>添加>用户:角色中。在中,操作员选择不属于并选择要隐藏的角色(管理员)点击应用并保存。完成了 另
“管理用户”权限存在很大问题,并且授予的权限太多,这是一个常见问题。使用视图复制用户列表,并在“Nid!=[hidden user's ID]”上设置一个筛选器。您只需更改视图即可。转到视图>管理:用户>编辑。然后在筛选条件>添加>用户:角色中。在
中,操作员
选择不属于
并选择要隐藏的角色(管理员)点击应用并保存。完成了
另外,通过在自定义模块中创建hook\u form\u alter()
,您还可以从注册中隐藏此用户角色(添加新用户)。大概是这样的:
/**
* Implements hook_form_alter().
*/
function MyModule_form_alter(&$form, &$form_state, $form_id) {
//to get the current user role
global $user;
$user_roles = $user->roles;
//use devel to find the user role, which you wish to hide
//dsm($form);
switch ($form_id) {
case 'user_register_form':
if (!in_array('administrator', $user_roles)) { // hide this only if the current user role is not administrator
unset($form['account']['roles']['#options'][3]);
}
break;
}
}
这将在创建新用户时隐藏管理员角色。您也应该按照同样的方法对用户编辑表单隐藏此内容