Класс UF-поля
Все uf-классы должны являться наследниками класса BaseType и располагаться по пути <modulename>/lib/usefield/types/<classname>/
соответствующего модуля, например, /main/lib/userfield/types/stringtype
.
Для регистрации нового типа пользовательского поля необходимо зарегистрировать его в b_module_to_modules:
RegisterModuleDependences("main", "OnUserTypeBuildList", "testmodule", '\testmodule\lib\usefield\types\customstring\CustomString', 'GetUserTypeDescription');
или через файл init.php:
use Bitrix\Main; $eventManager = Main\EventManager::getInstance(); //Вешаем обработчик на событие создания списка пользовательских свойств OnUserTypeBuildList $eventManager->addEventHandler('main', 'OnUserTypeBuildList', ['\testmodule\lib\usefield\types\customstring\CustomString', 'GetUserTypeDescription']);
Обязательные константы:
USER_TYPE_ID
- уникальный идентификатор пользовательского типа;RENDER_COMPONENT
- имя компонента, который будет использован для отрисовки.
Обязательные методы:
- getDescription - метод должен вернуть ассоциативный массив с человекопонятным именем типа поля (
DESCRIPTION
) и базовым типом (BASE_TYPE
); - getDbColumnType - метод возвращает MySQL тип колонки, в которой будет храниться значение одиночного поля. Множественные поля всегда хранятся как
text
.
Остальные методы:
- prepareSettings - подготавливает и возвращает массив настроек экземпляра пользовательского типа;
- getFilterData - возвращает массив для использования в новом фильтре в административном разделе;
- checkFields - валидатор, возвращает ассоциативный массив вида
['id'=> 'FIELD_NAME', 'text' => 'erorr message']
или пустой массив в случае отсутствия ошибок валидации; - onSearchIndex - возвращает значение поля для поиска;
- onBeforeSave - вызывается перед сохранением значения uf-поля;
-
getDefaultValue
Метод доступен с версии 20.5.500.
Параметры метода:Параметр Описание $userField Массив метаинформации пользовательского поля. Может быть получен методом GetUserFields класса CUserTypeManager. $additionalParameters Массив, который содержит необходимые настройки в зависимости от шаблона, которым выводится контрол. В частности в этом массиве передаются следующие элементы: - mode - имя шаблона компонента;
- mediaType - имя страницы шаблона (на текущий момент или .default, или mobile). Пустое значение эквивалентно .default.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.