Документация для разработчиков
Темная тема

Компоненты отрисовки пользовательских полей

Описание

С версии 20.0.800 модуля main доступно новое API для отрисовки контролов пользовательских полей.

Вызов компонента и его параметры одинаковы для всех компонентов, меняется только тип пользовательского поля.

Все компоненты содержат шаблоны для декстопа и мобильного приложения, поддерживают возможность изменения внешнего вида контролов через стандартный механизм шаблонов.

В физической структуре компонент находится в папке /bitrix/components/bitrix/[название_компонента].

Список компонентов

КомпонентОписание
main.field.booleanПредназначен для отрисовки пользовательских полей типа boolean (да/нет).
main.field.dateПредназначен для отрисовки пользовательских полей типа date (дата).
main.field.datetimeПредназначен для отрисовки пользовательских полей datetime (дата со временем).
main.field.doubleПредназначен для отрисовки пользовательских полей типа double (число).
main.field.enumПредназначен для отрисовки пользовательских полей типа enum (список).
main.field.fileПредназначен для отрисовки пользовательских полей типа file (файл).
main.field.integerПредназначен для отрисовки пользовательских полей типа integer (целое число).
main.field.stringПредназначен для отрисовки пользовательских полей типа string (строка).
main.field.stringformattedПредназначен для отрисовки пользовательских полей типа stringformatted.
main.field.urlПредназначен для отрисовки пользовательских полей типа url (ссылка).

Параметры

ПараметрОписание
$userFieldМассив метаинформации пользовательского поля. Может быть получен методом GetUserFields класса CUserTypeManager.
$additionalParametersМассив, который содержит необходимые настройки в зависимости от шаблона, которым выводится контрол. В частности в этом массиве передаются следующие элементы:
  • mode - имя шаблона компонента;
  • mediaType - имя страницы шаблона, на текущий момент или .default, или mobile. Пустое значение эквивалентно .default.

Пример вызова компонента main.field.string

<?
$APPLICATION->IncludeComponent(
	'bitrix:main.field.string',
		'',
		[
			'userField' => $userField,
			'additionalParameters' => $additionalParameters,
		]
	);
?>

Дополнительно

Также можно использовать универсальное API:

$renderer = new \Bitrix\Main\UserField\Renderer($userField, $additionalParameters);
return $renderer->render();


© «Битрикс», 2001-2024, «1С-Битрикс», 2024