Наш модуль - это простое и эффективное решение для генерации страниц настроек ваших модулей в Битрикс. Он поддерживает несколько табов и группировку свойств, что делает процесс настройки более удобным и легким.
Модуль предоставляет альтернативу классу CModuleOptions, который многие разработчики используют для генерации настроек своих модулей. Он также использует библиотеку интерфейсов 1С-Битрикс, что обеспечивает максимальную совместимость и надежность.
Данный модель сделан как альтернатива установки через composer. Весь используемый в модуле код выложен на github, что позволяет проверить его на безопасность, или добавить правки при необходимости.
Краткая версияВ файле настроек вашего модуля подключаете текущий модуль и вызываете с нужными параметрами:
Bitrix\Main\Loader::includeModule('mpm.options');
Gelion\BitrixOptions\Form::generate('youmodule.id', $options); |
Пример файла options.php с использованием модуля.
ВажноМинимально необходимая версия php для работы модуля соответствует
требованиями bitrix.
Создание табов и групп
Пример массива "$options" для создания вкладки с группой опций:
$options = [
[
'DIV' => 'settings',
'TAB' => 'Новая вкладка',
'TITLE' => 'Новая вкладка',
'ICON' => '',
'GROUPS' => [
'GROUP_CODE' => [
'TITLE' => 'Название группы',
'OPTIONS' => []
],
],
],
]; |
Создание опций
В массив "OPTIONS" группы передаётся массив нужных опций.
Строка'PROP_ID' => [ 'SORT' => 100,
'TYPE' => 'STRING',
'FIELDS' => [
'TITLE' => 'Поле "Строка"',
'DEFAULT' => 'Значение по умолчанию',
'NOTES' => 'Это подсказка к полю "Строка"',
'PLACEHOLDER' => 'Это плейсхолдер к полю "Строка"',
'TAG' => 'Текст на теге',
'READONLY' => false,
'DISABLED' => false,
'AUTOCOMPLETE' => false,
],
], |
Число
'PROP_ID' => [
'SORT' => 100,
'TYPE' => 'NUMBER',
'FIELDS' => [
'TITLE' => 'Поле "Число"',
'DEFAULT' => 42,
'NOTES' => 'Это подсказка к полю "Число"',
'PLACEHOLDER' => 'Это плейсхолдер к полю "Число"',
'TAG' => 'Текст на теге',
'READONLY' => false,
'DISABLED' => false,
'AUTOCOMPLETE' => false,
'STEP' => 1,
'MIN' => 0,
'MAX' => 100,
],
], |
Текст'PROP_ID' => [
'SORT' => 100,
'TYPE' => 'TEXTAREA',
'FIELDS' => [
'TITLE' => 'Поле "Текст"',
'DEFAULT' => 'Значение по умолчанию',
'NOTES' => 'Это подсказка к полю "Текст"',
'PLACEHOLDER' => 'Это плейсхолдер к полю "Текст"',
'TAG' => 'Текст на теге',
'READONLY' => false,
'DISABLED' => false,
'AUTOCOMPLETE' => false,
'COLS' => 5,
'ROWS' => 10,
],
], |
Чекбокс
'PROP_ID' => [
'SORT' => 100,
'TYPE' => 'CHECKBOX',
'FIELDS' => [
'TITLE' => 'Поле "Чекбокс"',
'DEFAULT' => true,
'NOTES' => 'Это подсказка к полю "Чекбокс"',
],
], |
Выбор цвета
'PROP_ID' => [
'SORT' => 100,
'TYPE' => 'COLORPICKER',
'FIELDS' => [
'TITLE' => 'Поле "Выбор цвета"',
'NOTES' => 'Это подсказка к полю "Выбор цвета"',
'DEFAULT' => '#FFFFFF',
],
],
|
Выпадающий список
'PROP_ID' => [
'SORT' => 100,
'TYPE' => 'DROPDOWN',
'FIELDS' => [
'TITLE' => 'Поле "Список"',
'DEFAULT' => 'val-2',
'NOTES' => 'Это подсказка к полю "Список"',
'TAG' => 'Текст на теге',
'OPTIONS' => [
[
'TITLE' => 'Первое свойство',
'VALUE' => 'val-1',
],
[
'TITLE' => 'Второе свойство',
'VALUE' => 'val-2',
],
],
],
], |
Множественный список
'PROP_ID' => [
'SORT' => 100,
'TYPE' => 'MULTISELECT',
'FIELDS' => [
'TITLE' => 'Поле "множественный список"',
'DEFAULT' => serialize(['val-1','val-2']),
'NOTES' => 'Это подсказка к полю "множественный список"',
'TAG' => 'Текст на теге',
'OPTIONS' => [
[
'TITLE' => 'Первое свойство',
'VALUE' => 'val-1',
],
[
'TITLE' => 'Второе свойство',
'VALUE' => 'val-2',
],
],
],
], |
HTML-редактор
'PROP_ID' => [
'SORT' => 100,
'TYPE' => 'HTMLEDITOR',
'FIELDS' => [
'TITLE' => 'Поле "HTML-редактор"',
'NOTES' => 'Это подсказка к полю "HTML-редактор"',
],
'PARAMS' => [
'WIDTH' => '100%',
'HEIGHT' => '500',
'PHP' => false,
'TASKBAR' => false,
]
], |
Условия'PROP_ID' => [
'SORT' => 100,
'TYPE' => 'CONDITIONS',
'FIELDS' => [
'TITLE' => 'Поле "Условия"',
'NOTES' => 'Это подсказка к полю "Условия"',
],
], |
Модификаторы опций
Также можно передать дополнительные параметры, влияющие на отображение формы на странице. Более подробно о принимаемых параметрах и их значениях можно узнать в
документации Bitrix.
'PROP_ID' => [
'FIELDS' => [],
'PARAMS' => [
'DISPLAY' => 'block',
'WIDTH' => 'wd',
'HEIGHT' => 'md',
'COLOR' => 'default',
'TAGCOLOR' => 'default',
'MODIFICATOR' => false,
],
],
|
Свои типы опций
Чтобы создать свой тип опции нужно создать свой класс, унаследовавшись от класса
Gelion\BitrixOptions\TypeBase и с интерфейсом
Gelion\BitrixOptions\TypeInterface. Затем, где-нибудь перед вызовом генератора зарегистрировать сопоставление названий типов, и классов, которые должны быть инициализированы.
Gelion\BitrixOptions\Form::typesRegister([
'CUSTOM_TYPE' => MyCustomOptionType::class,
]); |
Зарегистрированные типы опций, при совпадении названий будут перебивать стандартные.
Telegram — для обращений в техподдержку. Мы очень стараемся обработать все поступившие заявки в течение того рабочего дня, когда они поступили. Но иногда возможны задержки, за которые заранее хотим перед вами извиниться
Любые вопросы и проблемы, для решения которых нам нужно видеть сайт, админку или хостинг принимаются только на указанный эл. почту.
Пожелания по содержанию обращения в техподдержку ниже.
Для того, чтобы ваше обращение было рассмотрено максимально быстро, в письме указывайте:
- Купон на установку решения (который вам пришел после покупки)
- Доступ к панели управления Битрикс вашего сайта (адрес входа, логин и пароль от учётной записи администратора)
Чтобы мы вам помогли с первого раза, учтите следующие пожелания к заявке:
- Чётко опишите, в чём именно ошибка и после каких действий она возникает
- Приложите скриншот с проблемой
- Напишите, как на ваш взгляд должно работать