Если вы хотите сделать это из кода в пользовательском модуле, вы можете реализовать hook_menu_alter()
и настроить функцию обратного вызова доступа для использования пользовательского переопределения:
function yourModule_menu_alter(&$items) {
// Override the access callback for the 'admin' page
$items['admin']['access callback'] = 'yourModule_admin_access_override';
}
Inпри этом переопределении вы выполняете стандартную проверку доступа и возвращаете результат, но добавляете проверку для определенной роли и вместо этого перенаправляете, если необходимо:
function yourModule_admin_access_override() {
global $user;
// Does the user have access anyway?
$has_access = user_access('access administration pages');
// Special case: If the user has no access, but is member of a specific role,
// redirect him instead of denying access:
if (!$has_access && in_array('example-admin', $user->roles)) {
drupal_goto('admin/content/filter'); // NOTE: Implicit exit() here.
}
return $has_access;
}
(ПРИМЕЧАНИЕ. Не проверенный код, остерегайтесь опечаток)*
Вам нужно будет запустить перестройку реестра меню для изменения меню, которое будет выбрано.