Пользовательские свойства
В системе Битрикс есть очень полезная фишка под названием Пользовательские поля
. Этот функционал позволяет добавлять объектам дополнительные поля, которые не предусмотрены в системе по умолчанию. С полным списком объектов можно ознакомиться на странице курса Разработчик Bitrix Framework, объектами могут быть:
- Пользователи
- Инфоблоки
- Сообщения блога
Добавить новое пользовательское поле можно в основном месте Настройки -> Настройки продукта -> Пользовательские поля
или если реч идет о инфоблоках на закладке Дополнительные свойства
любого раздела определенного инфоблока, в случае если поле добавляется разделу.
Пользовательские поля могут создаваться в неограниченном количестве для каждого объекта. При выборе того или иного типа пользовательского поля становятся доступными дополнительные поля и настройки для соответствующего типа.
Необходимо отличать пользовательские поля
в модулях Битрикс и свойства используемые в рамках инфоблоков, хотя для обозначения этих сущностей используется один термин — пользовательские поля
. Пользовательское поле модуля можно задать для разных объектов системы, в отличие от свойств элементов инфоблока.
Применение пользовательских полей в Битрикс в привязке к тем или иным модулям, задаётся с помощью объектов, которые необходимо указать при создании поля. Не все модули имеют объекты для пользовательских полей по умолчанию. Разработчик может создавать собственные объекты, но надо понимать что в методах GetList()
поддерживаются только системные объекты:
Модуль | Объект | Описание |
---|---|---|
Главный модуль | USER |
для пользователя |
Блоги | BLOG_BLOG |
для блога |
BLOG_POST |
для сообщения в блоге | |
BLOG_COMMENT |
для комментария сообщения | |
Задачи | TASKS_TASK |
для задач |
Информационные блоки | IBLOCK_N_SECTION |
для секций инфоблока с ID=N |
IBLOCK_N |
Для инфоблока с ID=N |
|
Календарь | CALENDAR_EVENT |
для событий календаря |
Обучение | LEARN_ATTEMPT |
для попыток теста |
Социальная сеть | SONET_GROUP |
для групп соцсети |
Библиотека документов | WEBDAV |
для библиотек документов |
Форум | FORUM_MESSAGE |
для сообщений форума |
Highload-блоки | HLBLOCK_N |
для highload-блока с ID=N |
Для работы с пользовательскими полями можно использовать События
. События Главного модуля при работе с пользовательскими полями:
Событие | Вызывается | Метод |
---|---|---|
OnUserTypeBuildList |
При построении списка пользовательских полей | CUserTypeManager::GetUserType |
OnUserTypeRightsCheck |
При проверке прав доступа на пользовательские поля | GetRights |