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

Пользовательские свойства

Пользовательские свойства модуля информационных блоков позволяют изменять представление (формы ввода и т.п.) стандартных свойств расширяя их возможности. Фактически такое свойство представляет собой набор обработчиков событий вызываемых при построении административного интерфейса, публичной части сайта или API функций.

При первом обращении к методам пользовательских свойств вызываются обработчики события OnIBlockPropertyBuildList. Строится список свойств и при необходимости вызываются их методы.

Примеры конкретной реализации свойств можно посмотреть в файлах модуля информационных блоков classes/general/prop_*.php

Методы класса

Метод Описание С версии
GetUserTypeDescription Описание свойства 5.0.1
CheckFieldsПроверка правильности значения5.0.1
GetLengthПроверка длинны значения7.1.0
ConvertToDBСохранение в БД5.0.1
ConvertFromDBИзвлечение из БД5.0.1
GetPropertyFieldHtmlОтображение в форме редактирования5.0.1
GetAdminListViewHTMLПоказ в списке6.0.3
GetPublicViewHTMLОтображение в публичной части6.5.2
GetPublicEditHTMLРедактирование в публичной части7.1.4
GetSearchContentИндексация значений8.6.1
PrepareSettingsСохранение настроек8.6.1
GetSettingsHTMLРедактирование настроек8.6.1
GetPropertyFieldHtmlMultyВывод формы редактирования множественного свойства. Если отсутствует, то используется GetPropertyFieldHtml для каждого значения отдельно (у множественных свойств).5.0.1
GetAdminFilterHTMLВыводит html для фильтра по свойству на административной странице списка элементов инфоблока.7.0.1
GetPublicFilterHTMLВыводит html для фильтра по свойству на публичной странице списка элементов инфоблока.8.0.1

Фильтрация

Для работы фильтра необходимо в GetUserTypeDescription добавить строчку вида:

"AddFilterFields" => array(__CLASS__,'AddFilterFields'),

и в классе объявить метод:

public static function AddFilterFields($arProperty, $control, &$arFilter, &$filtered) 

Надо учитывать что этот метод не обязательный. Метод нужен только если фильтр сильно "не стандартный".

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