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

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

Описание

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

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

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

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

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

КомпонентОписание
iblock.field.sectionПредназначен для отрисовки пользовательских полей типа iblock_section (ссылка на раздел инфоблока) через новое API.
iblock.field.elementПредназначен для отрисовки пользовательских полей типа iblock_element (ссылка на элемент инфоблока) через новое API.

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

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

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

Параметры

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

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

<?
$APPLICATION->IncludeComponent(
            'bitrix:iblock.field.section',
            '',
            [
                'userField' => $userField,
                'additionalParameters' => $additionalParameters,
            ]
        );
?>
© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх