Перейти к содержанию

Создание кастомного пользовательского свойства

AddEventHandler('main', 'OnUserTypeBuildList', [CustomPropertyUserType::class, 'getUserTypeDescription']);

Описание класса

Класс можно отнаследовать от Bitrix\Main\UserField\Types\BaseType. const RENDER_COMPONENT = 'vendor:custom_property.field'; - имя компонента, который будет подключаться в админке для показа настроек, значений, поля редактирования и т.д.

Далее для визуала на разных страницах Битра проверяет налчичие определённых шаблонов, иначе подключает дефолтный. Эта штука называется $mode, битра проталкивает её в additionalParameters.mode. php файл должен называться .default.php, а не template.php.

Описание свойства

Обработчик должен вернуть массив с полями: * USER_TYPE_ID - уникальный идентификатор поля * DESCRIPTION - описание. Значение отображается в селекторе выбора свойств * PROPERTY_TYPE * E - привязка к элементу * USER_TYPE => self::class - Зачем? * BASE_TYPE - базовый тип на котором будут основаны операции фильтра. Выбрать из прописанных в \CUserTypeManager::class типов * CLASS_NAME => self::class - Зачем? Походу для указания класса, который имплементирует методы * GetPropertyFieldHtml - метод должен вернуть html для показа значения в админке * getdbcolumntype - надо указать тип поля для БД.