Создание страницы в админке

Иногда бывает нужно создать страницу в админ-панели. При этом нет необходимости создавать для страницы целый модуль.

Я обычно делаю так: в php_interface/include/ создаю файл, в котором размещаю весь функционал.

Дальше - в папке /bitrix/admin/ создаем файл с аналогичным названием, в нем - инклюдим наш файл с функционалом.

Осталось дело за малым - вывести ссылку на данный файл в меню. А в этом нам поможет обработчик события "OnBuildGlobalMenu":

AddEventHandler("main", "OnBuildGlobalMenu", "ModifiAdminMenu");
function ModifiAdminMenu(&$adminMenu, &$moduleMenu){
      $moduleMenu[] = array(
         "parent_menu" => "global_menu_services", // в раздел "Сервис"
         "section" => "ваше название",
         "sort"        => 100,                    // сортировка пункта меню - поднимем повыше
         "url"         => "имя страницы.php?lang=".LANG,  // ссылка на пункте меню - тут как раз и пишите адрес вашего файла, созданного в /bitrix/admin/
         "text"        => 'Текст пункта меню',
         "title"       => 'Всплывашка для пункта меню',
         "icon"        => "form_menu_icon", // малая иконка
         "page_icon"   => "form_page_icon", // большая иконка
         "items_id"    => "menu_ваше название",  // идентификатор ветви
         "items"       => array()          // остальные уровни меню

            );
}

Ну и если вы все же делаете свой модуль, то файл со скриптом-обработчиком вы разместить уже у себя в модуле, проинклюдите уже его. А вот чтобы добавить страницу в меню для модуля, нужно при разработке собственного модуля разместить файл /bitrix/modules/НАЗВАНИЕ_МОДУЛЯ/admin/menu.php с таким примерно содержанием:

$aMenu = array(    

'parent_menu' => 'global_menu_store',
    'sort' => 150,
    'text' => GetMessage('YOURMODULE_MENU'),
    'title' => GetMessage('YOURMODULE_MENUTITLE'),
    'icon' => 'sale_menu_icon_statisti',
    'page_icon' => 'sale_menu_icon_statisti',
    'items_id' => 'some_id',
    'items' => array(
        array(
            'text' => GetMessage('YOURMODULE_MENU_1'),
            'title' => GetMessage('YOURMODULE_MENU_1'),
            'url' => 'somepage.php?lang='.LANGUAGE_ID,
        ),        
    )
);

return (!empty($aMenu) ? $aMenu : false);

Более подробно о работе с доп. меню можно почитать в официально документации и тут

Количество показов: 10039
17.06.2018

Возврат к списку

Если вам была полезна статья можете отблагодарить автора:
Ethereum:

0x16Df809287333C49D3A237296C6248A6c08702Bc

Разработка сайта

Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...

Сопровождение сайта

Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение

Работы по сайту

Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.