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

UserFieldHelper

Описание и методы

Класс содержит методы-обработчики событий от API пользовательских полей. Синглтон.

Методы

Метод Описание С версии
public static function getInstance(): UserFieldHelper Возвращает инстанс класса.
public function getManager(): ?\CUserTypeManager
public function getApplication(): ?\CAllMain Геттеры, чтобы не писать в коде других методов global.
public function parseUserFieldEntityId(string $entityId): ?array Пытается получить инстанс фабрики и идентификатор типа из строкового идентификатора сущности пользовательского поля.
Если это удалось (фабрика была зарегистрирована корректно), то в результате будет массив, где первый элемент - фабрика, а второй - идентификатор типа.

Обработчики событий

Метод Описание С версии
public static function OnBeforeUserTypeAdd($field) Перед созданием нового поля. Пытается определить, есть ли зарегистрированная фабрика для сущности этого поля.
Если есть, то API пользовательских полей не будет создавать свои таблицы.
public static function onAfterUserTypeAdd($field) После создания нового пользовательского поля этот метод добавляет новую колонку в таблицу элементов.
Если надо - создает таблицу для хранения множественных значений
public static function OnBeforeUserTypeDelete($field) Метод зачищает данные перед удалением поля:
  • файлы (если поле типа "файл");
  • удаляет колонку из таблицы элементов;
  • удаляет таблицу хранения множественных значений.
public static function onGetUserFieldValues(Event $event): EventResult Не допускает обращение к собственным таблицам пользовательских полей для поиска значений. Собирает значения из своей таблицы и возвращает их.
public static function onUpdateUserFieldValues(Event $event): EventResult Не допускает обращение к собственным таблицам пользовательских полей для изменения значений. Определяет таблет, к которому надо обратиться, и изменяет значения через него.
public static function onDeleteUserFieldValues(Event $event): EventResult Не допускает обращение к собственным таблицам пользовательских полей для удаления значений. Определяет таблет, к которому надо обратиться, и удаляет значения через него.


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