Пользовательские свойства модуля информационных блоков позволяют изменять представление (формы ввода и т.п.) стандартных свойств расширяя их возможности. Фактически такое свойство представляет собой набор обработчиков событий вызываемых при построении административного интерфейса, публичной части сайта или API функций.
При первом обращении к методам пользовательских свойств вызываются обработчики события OnIBlockPropertyBuildList. Строится список свойств и при необходимости вызываются их методы.
Примеры конкретной реализации свойств можно посмотреть в файлах модуля информационных блоков classes/general/prop_*.php
Методы класса
Добавлять комментарии могут только зарегистрированные пользователи. Сообщения для просмотра появляются после модерации.
При первом обращении к методам пользовательских свойств вызываются обработчики события OnIBlockPropertyBuildList. Строится список свойств и при необходимости вызываются их методы.
Примеры конкретной реализации свойств можно посмотреть в файлах модуля информационных блоков classes/general/prop_*.php
Методы класса
| Метод | Описание |
|---|---|
| GetUserTypeDescription | Описание свойства
|
| CheckFields | Проверка правильности значения |
| GetLength | Проверка длинны значения |
| ConvertToDB | Сохранение в БД |
| ConvertFromDB | Извлечение из БД |
| GetPropertyFieldHtml | Отображение в форме редактирования |
| GetAdminListViewHTML | Показ в списке |
| GetPublicViewHTML | Отображение в публичной части |
| GetPublicEditHTML | Редактирование в публичной части |
| GetSearchContent | Индексация значений |
| PrepareSettings | Сохранение настроек |
| GetSettingsHTML | Редактирование настроек |
Пользовательские комментарии
Пользовательские комментарии не являются официальной документацией. Ответственность за их использование несет сам пользователь.Добавлять комментарии могут только зарегистрированные пользователи. Сообщения для просмотра появляются после модерации.
|
| ||||||
|
Часто возникает необходимость привязывать пользовательские свойства к комментариям блогов, форумов или любым другим объектам, которые по умолчанию не поддерживают пользовательские свойства. В таких случаях может помочь использование недокументированных возможностей системы.
Поясним на примере комментариев блога. Создаем с помощью админки пользовательское свойство нужного типа (Настройки->Настройки продукта->Пользовательские поля). Заполняем все, как обычно, но в поле "Объект" указываем "BLOG_COMMENT" (или любое другое придуманное имя объекта, лишь бы оно было уникально). Для считывания и записи значений пользовательских свойств можно использовать следующие функции:
Пример использования:
Данный подход, конечно, не так удобен, как использование функций GetList для объектов с "врожденной" поддержкой кастомных свойств. Однако, он позволяет максимально быстро и просто использовать в самописных компонентах и модулях пользовательские свойства для произвольных объектов. | ||||||
|
|
|
Комментарий выше относится к пользовательским типам главного модуля.
|
|
| ||
|
Если необходимо добавить пользовательское свойство к разделу инфоблока через механизм Битрикс-API, нужно использовать следующий код с вариациями:
FIELD_NAME - обязательное поле и должно быть заполнено строго в верхнем регистре, иначе словите ошибку. Возможные типы пользовательских полей (USER_TYPE_ID): "enumeration"->Список "double"->Число "boolean"->Да/Нет "string"->Строка "file"->Файл "datetime"->Дата/Время "iblock_section"->Привязка к разделам инф. блоков "integer"->Целое число Список полей для каждого из этих типов можно сверить с формой редактирования в панели управления (смотрим подсказку и name="" в исходном HTML-коде). | ||

