Страница конфигураций
Модуль bik.rest
предоставляет возможность создавать свои собственные страницы в административной панели Bitrix. Эти страницы можно использовать для создания и управления пользовательскими настройками.
Структура директорий
Все страницы должны размещаться в директории: /local/bik.rest/admin/pages/
Создание подмодуля
Создать директорию /local/bik.rest/admin/pages/.
Создать новый PHP-файл с именем, отражающим назначение вашего подмодуля (например,
CustomPage.php
).CustomPage.php должен содержать класс, который наследуется от абстрактного класса AbstractPage и определяет его абстрактные методы такие как setTitle, setIcon, setTabs, setOptions
Создайте свой первую страницу, основываясь на приведенном ниже примере.
Созданную страницу можно посмотреть во вкладке Сервисы, раздел 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