BIK.REST Help

Страница конфигураций

Модуль bik.rest предоставляет возможность создавать свои собственные страницы в административной панели Bitrix. Эти страницы можно использовать для создания и управления пользовательскими настройками.

Структура директорий

Все страницы должны размещаться в директории: /local/bik.rest/admin/pages/

Создание подмодуля

  1. Создать директорию /local/bik.rest/admin/pages/.

  2. Создать новый PHP-файл с именем, отражающим назначение вашего подмодуля (например, CustomPage.php).

  3. CustomPage.php должен содержать класс, который наследуется от абстрактного класса AbstractPage и определяет его абстрактные методы такие как setTitle, setIcon, setTabs, setOptions

  4. Создайте свой первую страницу, основываясь на приведенном ниже примере.

  5. Созданную страницу можно посмотреть во вкладке Сервисы, раздел BIK.REST

Пример страницы

<?php namespace BIK\Rest\Admin\Pages; use BIK\Rest\Admin\Core\AbstractPage; use BIK\Rest\Admin\Core\IconCollection; use BIK\Rest\Admin\Core\PageOption; use BIK\Rest\Admin\Core\PageOptionList; use BIK\Rest\Admin\Core\PageTabList; class CustomPage extends AbstractPage { /* * Заголовок страницы и пункта меню */ public static function setTitle(): string { return "Custom Page"; } /* * Иконка пункта меню * * Функция должна возвращать css класс иконки; если иконка не требуется, можно вернуть пустую строку * Класс IconCollection включает в себя набор css классов стандартных иконок, которые используются в Bitrix */ protected static function setIcon(): string { return IconCollection::SALE_CRM_SITE_MASTER_ICON; } /* * Вкладки страницы * * Функция должна возвращать объект PageTabList * Для добавления вкладки необходимо создать объект класса PageTabList и вызвать метод add, передав в качестве аргумента ID вкладки и её заголовок */ protected static function setTabs(): PageTabList { $list = new PageTabList(); $list ->add("base", "TAB 1") ->add("system", "TAB 2"); return $list; } /* * Список конфигураций * * Каждая вкладка может содержат список своих конфигураций * Функция должна возвращать объект PageOptionList * * Для добавления конфигурации необходимо создать объект класса PageOptionList и вызвать метод add * Метод add принимает в качестве первого аргумента ID вкладки, указанный ранее в методе setTabs, и вторым аргументом - объект класса PageOption * * Объект PageOption * setTitle - задает заголовок конфигурации, обязательный метод * setInputType - задает тип поля, можно использовать PageOption::INPUT, PageOption::SELECT, PageOption::TEXTAREA, обязательный метод * setName - задает уникальный идентификатор, обязательный метод * setHint - задает подсказку, необязательный метод * setDefaultValue - задает значение по умолчанию, необязательный метод * setSelectOptions - задает список option для типа select(PageOption::SELECT), обязательный метод * * К значениям созданных конфигурации можно получить доступ так: \Bitrix\Main\Config\Option::get('bik.rest', 'уникальный идентификатор из setName'); */ protected static function setOptions(): PageOptionList { $optionList = new PageOptionList(); return $optionList ->add("base", (new PageOption()) ->setTitle('Первая конфигурация:') ->setInputType(PageOption::INPUT) ->setName('config_one') ->setHint("Подсказка здесь") ->setDefaultValue(0) ) ->add("base", (new PageOption()) ->setTitle('Вторая конфигурация') ->setInputType(PageOption::SELECT) ->setName('config_two') ->setSelectOptions([ 0 => 'Нет', 1 => 'Да', ]) ->setDefaultValue(0) ) ->add("base", (new PageOption()) ->setTitle('Третья конфигурация') ->setInputType(PageOption::TEXTAREA) ->setName('config_three') ) ->add("system", (new PageOption()) ->setTitle('Четвертая конфигурация') ->setInputType(PageOption::INPUT) ->setName('config_four') ); } }
Last modified: 19 июня 2025