| BitrixOptions | mpm.options | php |
|---|---|---|
| 1.0+ | 1.0+ | 7.0+ |
| 1.0+, 2.0+ | 2.0+ | 8.1+ |
- Установить модуль mpm.options из маркетплейса bitrix.
- Создать файл настроек модуля (options.php или подобный)
- Подключить модуль и вызвать генератор формы, передав нужные параметры
Bitrix\Main\Loader::includeModule('mpm.options'); Form::make('youmodule.id', [ Tab::make('first', 'Первая вкладка', []), Tab::make('second', 'Вторая вкладка', []), ]);
- Установить пакет
ge1i0n/bitrix-optionscomposer require ge1i0n/bitrix-options
- Создать файл настроек модуля (options.php или подобный)
- Подключить вызвать генератор, передав нужные параметры
Gelion\BitrixOptions\Form::make('youmodule.id', [ Gelion\BitrixOptions\Tab::make('first', 'Первая вкладка', [ Gelion\BitrixOptions\Fields\Text::make('TEXT'), ]), Gelion\BitrixOptions\Tab::make('second', 'Вторая вкладка', [ Gelion\BitrixOptions\Fields\Number::make('NUMBER'), ]), ]);
- Скопировать пакет к себе в модуль
- Зарегистрировать классы модуля в файле
include.php, прописав вручную корректные пути к классам, или загрузив автолоадером. Зарегистрировать вручную можно например так:Bitrix\Main\Loader::registerAutoLoadClasses('youmodule.id', [ 'Gelion\\BitrixOptions\\Tab' => '/lib/Tab.php', 'Gelion\\BitrixOptions\\Form' => '/lib/Form.php', 'Gelion\\BitrixOptions\\Enums\\Color' => '/lib/Enums/Color.php', 'Gelion\\BitrixOptions\\Enums\\Width' => '/lib/Enums/Width.php', 'Gelion\\BitrixOptions\\Enums\\Height' => '/lib/Enums/Height.php', 'Gelion\\BitrixOptions\\Enums\\Resize' => '/lib/Enums/Resize.php', 'Gelion\\BitrixOptions\\Enums\\Display' => '/lib/Enums/Display.php', 'Gelion\\BitrixOptions\\Enums\\TagColor' => '/lib/Enums/TagColor.php', 'Gelion\\BitrixOptions\\Enums\\AlertIcon' => '/lib/Enums/AlertIcon.php', 'Gelion\\BitrixOptions\\Enums\\AlertSize' => '/lib/Enums/AlertSize.php', 'Gelion\\BitrixOptions\\Enums\\TextStyle' => '/lib/Enums/TextStyle.php', 'Gelion\\BitrixOptions\\Enums\\AlertTextPosition' => '/lib/Enums/AlertTextPosition.php', 'Gelion\\BitrixOptions\\Fields\\Date' => '/lib/Fields/Date.php', 'Gelion\\BitrixOptions\\Fields\\Text' => '/lib/Fields/Text.php', 'Gelion\\BitrixOptions\\Fields\\Alert' => '/lib/Fields/Alert.php', 'Gelion\\BitrixOptions\\Fields\\Email' => '/lib/Fields/Email.php', 'Gelion\\BitrixOptions\\Fields\\Number' => '/lib/Fields/Number.php', 'Gelion\\BitrixOptions\\Fields\\Select' => '/lib/Fields/Select.php', 'Gelion\\BitrixOptions\\Fields\\Heading' => '/lib/Fields/Heading.php', 'Gelion\\BitrixOptions\\Fields\\Checkbox' => '/lib/Fields/Checkbox.php', 'Gelion\\BitrixOptions\\Fields\\Textarea' => '/lib/Fields/Textarea.php', 'Gelion\\BitrixOptions\\Fields\\Condition' => '/lib/Fields/Condition.php', 'Gelion\\BitrixOptions\\Fields\\HtmlEditor' => '/lib/Fields/HtmlEditor.php', 'Gelion\\BitrixOptions\\Fields\\ColorPicker' => '/lib/Fields/ColorPicker.php', 'Gelion\\BitrixOptions\\Traits\\WithTag' => '/lib/Traits/WithTag.php', 'Gelion\\BitrixOptions\\Traits\\WithHint' => '/lib/Traits/WithHint.php', 'Gelion\\BitrixOptions\\Traits\\WithColor' => '/lib/Traits/WithColor.php', 'Gelion\\BitrixOptions\\Traits\\WithModuleId' => '/lib/Traits/WithModuleId.php', 'Gelion\\BitrixOptions\\Traits\\WithStyleClass' => '/lib/Traits/WithStyleClass.php', 'Gelion\\BitrixOptions\\Traits\\WithDisplayWithoutValue' => '/lib/Traits/WithDisplayWithoutValue.php', ]);
| Поле | Назначение |
|---|---|
Date |
Поле Text с типом date |
Email |
Поле Text с типом email |
Heading |
Поле, выводящий заголовок |
Select |
Замена полям Dropdown и Multiselect |
Дополнительные, свои типы полей больше не нужно регистрировать отдельно, можете использовать их непосредственно в конструкторе формы.
На странице настроек необходимо вызвать генератор формы, в который передаётся id вашего модуля.
Gelion\BitrixOptions\Form::make('youmodule.id', []);Вторым параметром в генератор формы передаётся массив табов на странице формы. Необходимо передать как минимум один таб, для корректной генерации и заполнения страницы.
Gelion\BitrixOptions\Form::make('youmodule.id', [
Gelion\BitrixOptions\Tab::make('first', 'Первая вкладка', []),
]);В таб, вторым параметром передаётся массив полей для отображения. В отличие от первой версии пакета - порядок задаётся не полем сортировки, а непосредственно порядком передачи в массиве.
Gelion\BitrixOptions\Form::make('youmodule.id', [
Gelion\BitrixOptions\Tab::make('first', 'Первая вкладка', [
Gelion\BitrixOptions\Fields\Text::make('TEXT'),
]),
]);Все типы полей отображается через статичный метод make(), в который передаётся один или два параметра - ключ в базе
данных и строка для вывода пояснения.
Для типов полей который выводят данные, но ничего не хранят, передаётся один параметр.
В случае передачи одного параметра в поля, которые отображают данные настроек ключ будет использован как строка
пояснения.
Также, все методы, которые наследуются от поля Text имеют общие Fluent методы. Они будут описаны только в текстовом
поле, повторяться не будут.
Новый тип поля, заменяющий группы полей в предыдущей версии модуля. Больше нет необходимости делать группировку, просто выведите заголовок в нужном месте, передав в него текст для вывода.
\Gelion\BitrixOptions\Fields\Heading::make('Я заголовок группы');Вывод информационного сообщения, с настраиваемым размером, расположением текста и иконкой. Поле можно модифицировать через текучий интерфейс, передав в методы Enum необходимых значений свойств. документации Bitrix
\Gelion\BitrixOptions\Fields\Alert::make('Я предупрждение')
->setIcon(\Gelion\BitrixOptions\Enums\AlertIcon::INFO)
->setSize(\Gelion\BitrixOptions\Enums\AlertSize::XS)
->setTextPosition(\Gelion\BitrixOptions\Enums\AlertTextPosition::CENTER);Вывод простого текстового поля - базовый компонент для большинства других полей. Поле можно модифицировать через текучий интерфейс, передав в методы Enum, необходимых значений, сами значения, а иногда и замыкания в зависимости от типа свойства.
\Gelion\BitrixOptions\Fields\Text::make('TEXT_OPTION', 'Я текстовое поле')
->disabled(true)
->readonly(true)
->setDefault('default')
->setAutocomplete('username')
->setHint('Я ст
A3B2
ока подсказки')
->setPlaceholder('Я строка плейсхолдер')
->setStyle(\Gelion\BitrixOptions\Enums\TextStyle::ROUND)
->setDisplay(\Gelion\BitrixOptions\Enums\Display::BLOCK)
->setTag('Я строка тега', \Gelion\BitrixOptions\Enums\TagColor::SUCCESS)
->setHeight(\Gelion\BitrixOptions\Enums\Height::MD)
->setWidth(\Gelion\BitrixOptions\Enums\Width::W75)
->setColor(\Gelion\BitrixOptions\Enums\Color::SUCCESS);Вывод поля для даты - текстовое поле, но с типом date.
\Gelion\BitrixOptions\Fields\Date::make('DATE_OPTION', 'Я поле даты');Вывод поля для электронной почты - текстовое поле, но с типом email.
\Gelion\BitrixOptions\Fields\Email::make('EMAIL_OPTION', 'Я поле электронной почты');Вывод поля для чисел - текстовое поле, но с типом number.
Имеет три дополнительных метода min(), max(), step().
\Gelion\BitrixOptions\Fields\Number::make('NUMBER_OPTION', 'Я поле ввода чисел')
->min(0)
->max(10)
->step(2);Вывод переключателя, основан на текстовом поле.
Хранит значения в базе в формате Y и N, выводится в виде чекбокса.
\Gelion\BitrixOptions\Fields\Checkbox::make('CHECKBOX_OPTION', 'Я поле ввода чекбокса');Вывод поля для выбора цвета, основано на текстовом поле.
Имеет два дополнительных метода cols(), rows().
Обратите внимание - при сохранении страницы, но не выбранном цвете по-умолчанию будет всегда сохраняться чёрный цвет.
\Gelion\BitrixOptions\Fields\ColorPicker::make('CHECKBOX_OPTION', 'Я поле ввода чекбокса');Поле для ввода многострочного ввода данных, основано на текстовом поле. На данный момент реализованы все способы изменять состояния поля, но не все они ведут себя корректно.
\Gelion\BitrixOptions\Fields\Textarea::make('TEXTAREA_OPTION', 'Я поле многостраничного ввода')
->setResize(\Gelion\BitrixOptions\Enums\Resize::RESIZE_X)
->cols(10)
->rows(10);Селектор для выбора значений из списка, основано на текстовом поле.
Имеет три дополнительных метода options() - для передачи опций выбора, size() - для передачи атрибута size,
multiple() - для включения множественного выбора.
\Gelion\BitrixOptions\Fields\Select::make('SELECT_OPTION', 'Я поле выбора из списка')
->options([
'key-1' => 'Вариант 1',
'key-2' => 'Вариант 2',
])
->size()
->multiple();Текстовый редактор, с возможностью переключаться между типами text, html и визуальный редактор.
\Gelion\BitrixOptions\Fields\HtmlEditor::make('HTML_EDITOR_OPTION', 'Я поле редактора')
->setHint('Я строка подсказки');Поле выбора условий, основанное на классе CCatalogCondTree.
\Gelion\BitrixOptions\Fields\Condition::make('CONDITION_OPTION', 'Я поле условия');- Документация по UI Bitrix: dev.1c-bitrix.ru