Настройки компонента

При подключении компонента, через третий параметр можно указать свойства (настройки) компонента.

$APPLICATION->IncludeComponent("custom:test", ".default",
    // Свойства компонента
    array(
        "PROPERTY_NAME" => "Y",
        "PROPERTY_NAME_2" => "N"
    ),
    false
);

Данные свойства доступы в файле component.php и в файлах шаблона компонента.

# component.php или файлы шаблона компонента

echo $arParams['PROPERTY_NAME'];   // Y
echo $arParams['PROPERTY_NAME_2']; // N

Для каждого свойства $arParams применяется функция htmlspecialcharsEx(), при этом исходное значение сохраняется с тем же именем, но вначале стоит знак ~.

# component.php или файлы шаблона компонента

echo $arParams['PROPERTY_NAME'];  // Пример <b>текста</b>
echo $arParams['~PROPERTY_NAME']; // Пример <b>текста</b>

Изменение свойств компонента через админку

Чтобы изменять свойства компонента через админку Битрикс (в режиме правок), в папке компонента надо создать файл .parameters.php.

# .parameters.php
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true){die();}

$arComponentParameters = array(
    'PARAMETERS' => array(

        'PROPERTY_NAME' => array(
            'NAME' => 'Тестовый параметр',
            'TYPE' => 'STRING',
            'DEFAULT' => 'Значение по умолчанию',
        ),

        'PROPERTY_NAME_2' => array(
            'NAME' => 'Тестовый параметр 2',
            'TYPE' => 'STRING',
            'DEFAULT' => 'Значение по умолчанию',
        ),
	
    ),
);

В результате в настройках компонента появится новый параметр:

Значения, которые указаны при подключении модуля, в файле «.parameters.php» доступы через массив $arCurrentValues.

Группа настроек

В массиве $arComponentParameters через параметр GROUPS можно создавать свои группы.

$arComponentParameters = array(
    // создание группы настроек
    'GROUPS' => array(
        'GROUP_NAME' => array(
            'NAME' => 'Имя группы'
        ),
    ),
    // настройки
    'PARAMETERS' => array(

        'PROPERTY_NAME' => array(
            'NAME' => 'Тестовый параметр',
            'TYPE' => 'STRING',
            'DEFAULT' => 'Значение по умолчанию',
            'PARENT' => 'GROUP_NAME',
        ),
	
    ),
);

В результате в настройках компонента появится дополнительный раздел: