Заметки по доработке настроек компонентов 1С-Битрикс
Рассмотрим возможности интересной реализации страницы настроек компонента.
Полезные ссылки:
- официальная докумтенация по параметрам компонентов
https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2132 - Добавить свой параметр в комплексную компоненту Bitrix
https://batalygina.com/add-your-parameter-to-the-complex-bitrix-component/ - Файл настройки параметров компонента 1С-Битрикс (.parameters.php)
https://ydmitry.ru/blog/fayl-nastroyki-parametrov-komponenta-bitrix-parameters-php/
Стандартный список настроек
Часто используемые настройки в файле .parameters.php.
Типы полей
Тип | Описание | Пример кода |
STRING |
Строка. Также в значение "по умолчанию" можно передать содеримое из языкового файла:
|
|
LIST |
|
|
CHECKBOX |
|
|
Дополнительные опции
Параметр | Описание | Пример кода |
PARENT |
Символьный код родительского блока опции. Возможные варианты (для разных компонентов разные):
|
$arTemplateParameters['SECTIONS_HIDE_SECTION_NAME'] = array( |
Динамическое отображение настроек по условию
Чтобы не перегружать страницу настроек лишними параметрами (например, если не установлена опция "Отображать картинку", то нет смысла отображать дополнительную опцию "Расположение картинки"), в файле настроек компонента .parameters.php можно использовать успловные операторы:
$arTemplateParameters['BLOCK_TITLE_POSITION'] = [
'NAME' => GetMessage('T_BLOCK_TITLE_POSITION'),
'TYPE' => 'LIST',
'VALUES' => [
'FLAT' => GetMessage('T_POSITION_FLAT'),
'TOP' => GetMessage('T_POSITION_TOP'),
],
'DEFAULT' => 'FLAT',
'REFRESH' => 'Y',
];
if ($arCurrentValues['BLOCK_TITLE_POSITION'] === 'TOP') {
$arTemplateParameters['BLOCK_TITLE_TAG'] = [
'NAME' => GetMessage('T_BLOCK_TITLE_TAG'),
'TYPE' => 'LIST',
'VALUES' => CCustomUtils::BLOCK_TITLE_TAGS,
'ADDITIONAL_VALUES' => 'Y',
'DEFAULT' => 'div'
];
$arTemplateParameters['BLOCK_TITLE_CLASS'] = [
'NAME' => GetMessage('T_BLOCK_TITLE_CLASS'),
'TYPE' => 'STRING',
];
$arTemplateParameters['BLOCK_DESCRIPTION'] = [
'NAME' => GetMessage('T_BLOCK_DESCRIPTION'),
'TYPE' => 'STRING',
];
}
Прокидка переменной в языковую константу
В функцию GetMessage можно передать переменную (в нашем случае VALUE) дополнительным параметром в функции:
$periodText = GetMessage('PRICE_YEAR_TEXT_DEFAULT', [
'VALUE' => number_format($priceYear, 0, '', ' '),
]);
Тогда в файле языковых переменных переменная VALUE должна быть записана следующим образом:
$MESS['PRICE_YEAR_TEXT_DEFAULT'] = 'VALUE '.$MESS['CURRENCY_TEXT'].'/год.';
Tags: 1C-Bitrix 1С-Битрикс
Недавние комментарии
[Решено] Chrome: как остановить редирект с http на https
Перенос файлов между серверами напрямую по SSH через SCP
Восстановление конфигурации WinSCP из реестра Windows
Устанавливаем macOS Monterey на VirtualBox на ПК или ноутбуке с Windows 10
[Решено] Chrome: как остановить редирект с http на https