Я создаю модуль администрирования для моего клиента, который дает им доступ к некоторым функциям администрирования, касающимся их содержимого.Я начинаю с добавления некоторых разрешений в мой модуль, реализуя hook_perm
:
function mymodule_perm()
{
return array(
'manage projects',
);
}
. Затем я могу создать свое меню, добавив в уже существующий раздел admin :
function mymodule_menu()
{
$items['admin/projects'] = array(
'title' => 'Projects',
'description' => 'Manage your projects.',
'page callback' => 'manage_projects_overview',
'access callback' => 'user_access',
'access arguments' => array('manage projects'),
'type' => MENU_NORMAL_ITEM,
'weight' => -100,
);
$items['admin/projects/add'] = array(
'title' => 'Add project',
'access arguments' => array('manage projects'),
'page callback' => 'mymodule_projects_add',
'type' => MENU_NORMAL_ITEM,
'weight' => 1,
);
return $items;
}
Это добавит раздел Проекты в область администрирования с подразделом Добавить проект .Все хорошо.
Я хочу, чтобы мой клиент мог видеть раздел «Проекты» только при входе в систему. Для этого я поставил галочку в разрешении «управлять проектами» для аутентифицированных пользователей в разделе разрешений моего раздела.модуль.Теперь, чтобы предоставить моему клиенту фактический доступ к области администрирования, мне также нужно отметить «доступ к страницам администрирования» в разделе «системный модуль» в разделе разрешений пользователей.Это прекрасно работает, когда я вхожу в систему как мой клиент, я вижу только раздел Projects в области администрирования.Однако есть одна вещь: в моем меню навигации, показанном в левом столбце, я вижу следующие элементы:
- Administer
- Projects
- Content management
- Site building
- Site configuration
- User management
Я ожидал только элементы «Администрирование» и «Проекты», а не другие.Когда я нажимаю, например, «Управление контентом», я получаю титульную страницу «Управление контентом» без подразделов.То же самое для создания сайта, конфигурации сайта и управления пользователями.Что действительно странно, так это то, что отчеты не отображаются, что также является разделом администрирования верхнего уровня.
Почему отображаются эти другие элементы, кроме раздела «Мои проекты», и как я могу заставить их перестать появляться, если я »я не вошел в систему как администратор?