Административное меню Битрикс. Оставляем только "Заказы"
Последние записи
По заданию мне нужно было оставить в админке только вкладку "Магазин", а в ней "Заказы" для определенной группы пользователей.
В файле php.init
добавляем обработку события OnBuildGlobalMenu
AddEventHandler("main", "OnBuildGlobalMenu", "MyOnBuildGlobalMenu");
function MyOnBuildGlobalMenu(&$aGlobalMenu, &$aModuleMenu)
{
global $USER;
if (CSite::InGroup([6])) {
unset(
$aGlobalMenu["global_menu_desktop"],
$aGlobalMenu["global_menu_content"],
$aGlobalMenu["global_menu_landing"],
$aGlobalMenu["global_menu_marketing"],
$aGlobalMenu["global_menu_settings"],
$aGlobalMenu["global_menu_marketplace"],
$aGlobalMenu["global_menu_services"],
$aGlobalMenu["global_menu_statistics"]
);
$destroy = ["global_menu_desktop", "global_menu_content", "global_menu_landing", "global_menu_marketing", "global_menu_settings", "global_menu_marketplace", "global_menu_services", "global_menu_statistics"];
foreach ($aModuleMenu as $k => $v) {
/* Отключаем все подменю в заказах */
if ($v['parent_menu'] == 'global_menu_store')
unset($aModuleMenu[$k]['items']);
if (in_array($v['parent_menu'], $destroy) || $v['text'] == 'Покупатели') {
unset($aModuleMenu[$k]);
}
}
}
}
Этого недостаточно, потому что в левом меню останется ссылка "Перейти в Битрикс24", а рядом с заказами "Каталог товаров"
Создаем файл admin_header.php
в php_interface
и добавляем
<?php
if(CSite::InGroup([6])){
global $adminMenu;
//Скрываем кнопку "Переход в Битрикс24"
unset($adminMenu->aGlobalMenu['global_menu_crm_site_master']);
foreach ($adminMenu->aGlobalMenu['global_menu_store']['items'] as $k => $v){
if($v['title'] != 'Список заказов'){
unset($adminMenu->aGlobalMenu['global_menu_store']['items'][$k]);
}
}
//Скрываем хлебные крошки и меню с каталогом товаров в подменю "Заказы"
?>
<style>
#main_navchain {display: none}
.adm-detail-toolbar > a {display: none}
</style>
<?php
}
В заказах у пользователя все равно останется возможность перейти в редактирование товара, но мне не требовалось это менять. Если вы знаете как это сделать, то пишите)
Не забудьте проставить настройки доступа требуемой группе пользователей во вкладке "Доступ"
Главный модуль: Изменение своего профиля
Интернет-магазин: Обработка заказов
Остальные доступы можно закрыть
Так же вы можете проставить доступы соответствующим статусам заказа в Магазин > Настройки магазина > Статусы
Выглядит страница так:
Стоит ознакомиться:
Комментарии