PHP code example of ge1i0n / bitrix-options

1. Go to this page and download the library: Download ge1i0n/bitrix-options library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ge1i0n / bitrix-options example snippets


    Bitrix\Main\Loader::s\Form::generate('youmodule.id', $options);
    

    Gelion\BitrixOptions\Form::generate('youmodule.id', $options);
    

    Bitrix\Main\Loader::registerAutoLoadClasses('youmodule.id', [
        'Gelion\\BitrixOptions\\Form'               => '/lib/Form.php',
        'Gelion\\BitrixOptions\\TypeInterface'      => '/lib/TypeInterface.php',
        'Gelion\\BitrixOptions\\TypeBase'           => '/lib/TypeBase.php',
        'Gelion\\BitrixOptions\\TypeForm'           => '/lib/TypeForm.php',
        'Gelion\\BitrixOptions\\Types\\Alert'       => '/lib/Types/Alert.php',
        'Gelion\\BitrixOptions\\Types\\Checkbox'    => '/lib/Types/Checkbox.php',
        'Gelion\\BitrixOptions\\Types\\Colorpicker' => '/lib/Types/Colorpicker.php',
        'Gelion\\BitrixOptions\\Types\\Conditions'  => '/lib/Types/Conditions.php',
        'Gelion\\BitrixOptions\\Types\\Dropdown'    => '/lib/Types/Dropdown.php',
        'Gelion\\BitrixOptions\\Types\\HtmlEditor'  => '/lib/Types/HtmlEditor.php',
        'Gelion\\BitrixOptions\\Types\\MultiSelect' => '/lib/Types/MultiSelect.php',
        'Gelion\\BitrixOptions\\Types\\Number'      => '/lib/Types/Number.php',
        'Gelion\\BitrixOptions\\Types\\Text'        => '/lib/Types/Text.php',
        'Gelion\\BitrixOptions\\Types\\Textarea'    => '/lib/Types/Textarea.php',
    ]);
    

$options = [
    [
        'DIV' => 'settings',
        'TAB' => 'Новая вкладка',
        'TITLE' => 'Новая вкладка',
        'ICON' => '',
        'GROUPS' => [
            'GROUP_CODE' => [
                'TITLE' => 'Название группы',
                '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' => 'Y',
        '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',
            ],
        ],
    ],
],

'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' => 'Это подсказка к полю "Условия"',
    ],
],

'PROP_ID' => [
    'SORT' => 100,
    'TYPE' => 'ALERT',
    'FIELDS' => [
        'TITLE' => 'Поле "Сообщения"',
    ],
],

'PROP_ID' => [
    'FIELDS' => [],
    'PARAMS' => [
        'DISPLAY' => 'block',
        'WIDTH' => 'wd',
        'HEIGHT' => 'md',
        'COLOR' => 'default',
        'TAGCOLOR' => 'default',
        'MODIFICATOR' => false,
    ],
],

'PROP_ID' => [
    'FIELDS' => [],
    'PARAMS' => [
        'DISPLAY' => false,
        'HEIGHT' => false,
        'COLOR' => 'default',
        'ICON' => false,
    ],
],

Gelion\BitrixOptions\Form::typesRegister([
    'CUSTOM_TYPE' => MyCustomOptionType::class,
]);