Как добавить дополнительную кнопку в панель администрирования битрикс

03.03.2013 14:32:34
Возникла необходимость вывести кнопку, для дополнительного функционала в панель администрирования 1с-битрикс.

Внимание: Возможно, данные изменения будут откатываться при обновлении продукта.

 

Для добавления своей кнопки в левое меню пришлось внести изменения в файлы:

  1. bitrix/modules/main/interface/admin_lib.php

    После

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    "global_menu_settings" => array(
        "icon" => "button_settings",
        "page_icon" => "settings_title_icon",
        "index_icon" => "settings_page_icon",
        "text" => GetMessage("admin_lib_menu_settings"),
        "title" => GetMessage("admin_lib_menu_settings_title"),
        "url" => "all_settings_index.php?lang=".LANGUAGE_ID,
        "sort" => 500,
        "items_id" => "global_menu_settings",
        "help_section" => "settings",
        "items" => array()
    ),

    добавляем

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    "global_menu_socomponents" => array(
        "icon" => "button_settings1",
        "page_icon" => "settings_title_icon1",
        "index_icon" => "settings_page_icon1",
        "text" => "123",
        "title" => "456",
        "url" => "socomponents.php?lang=".LANGUAGE_ID,
        "sort" => 600,
        "items_id" => "global_menu_socomponents",
        "help_section" => "settings",
        "items" => array()
    ),

    где
    items_id  - индификатор меню (global_menu_socomponents) понадобится далее.
    url – адрес вызываемого скрипта (socomponents.php) должен лежать в /bitrix/admin/

  2. /bitrix/modules/main/admin/menu.php

    В файле идет накопление массива $aMenu
    В самый конец добавляем:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $aMenu[] = array(
        "parent_menu" => "global_menu_socomponents",
        "sort" => 50,
        "text" => GetMessage("MAIN_MENU_FAVORITE_HEADER"),
        "title" => GetMessage("MAIN_MENU_FAVORITE_ALT"),
        "url" => "favorite_list.php?lang=".LANGUAGE_ID,
        "more_url" => array("favorite_edit.php"),
        "icon" => "fav_menu_icon",
        "page_icon" => "fav_page_icon",
    );

    parent_menu - должен совпадать с items_id из первого пункта


Категории: 1С-Битрикс
Яндекс.Метрика