При создании собственных компонент для Bitrix CMS иногда возникает необходимость добавить блок привлекающий внимание к какой либо важной настройке для этого в ядре есть специальный функционал.
Содержание формы настроек компонента настраивается в специальном массиве в файле .parameters.php. Основные положения по содержанию данного файла есть в официальной документации Битрикс. Однако там описаны не все возможности. Одна из таких: вывод произвольного HTML кода в специальном блоке позволяющем привлечь внимание
Для этого необходимо добавить следующий код
$arComponentParameters = array(
"PARAMETERS" => array(
// ...... прочие параметры компонента
"STRONG_PARAM_MESSAGE" => array(
"PARENT" => "SETTINGS",
"TYPE" => "CUSTOM",
"JS_FILE" => "/bitrix/js/main/comp_props.js",
"JS_EVENT" => "BxShowComponentNotes",
"JS_DATA" => 'Тут текст сообщения про параметр <b>STRONG_PARAM</b>'
),
'STRONG_PARAM' => array(
"PARENT" => "SETTINGS",
"NAME" => 'Параметр к которому необходимо привлечь внимание',
"TYPE" => "STRING",
"DEFAULT" => "",
),
// ...... прочие параметры компонента
)
);
При этом можно использовать возможность перегружать форму по вводу значения параметра и выводить предупреждение только в случае выполнение некоего условия
if (!array_key_exists('STRONG_PARAM', $arCurrentValues) ||
(int)($arCurrentValues['STRONG_PARAM']) < 10) {
$arComponentParameters["PARAMETERS"]["STRONG_PARAM_MESSAGE"] = Array(
"PARENT" => "SETTINGS",
"TYPE" => "CUSTOM",
"JS_FILE" => "/bitrix/js/main/comp_props.js",
"JS_EVENT" => "BxShowComponentNotes",
"JS_DATA" => 'Тут текст сообщения про параметр <b>STRONG_PARAM</b>'
);
}
$arComponentParameters["PARAMETERS"]["STRONG_PARAM"] = Array(
"PARENT" => "SETTINGS",
"NAME" => 'Параметр к которому необходимо привлечь внимание',
"TYPE" => "STRING",
"DEFAULT" => "",
"REFRESH" => "Y"
);