Пользовательские свойства
Пользовательские свойства модуля информационных блоков позволяют изменять представление (формы ввода и т.п.) стандартных свойств расширяя их возможности. Фактически такое свойство представляет собой набор обработчиков событий вызываемых при построении административного интерфейса, публичной части сайта или 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)
Надо учитывать что этот метод не обязательный. Метод нужен только если фильтр сильно "не стандартный".
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.