UiFilterPreset
Класс для преобразования фильтра блока в формат main.ui.filter. Используется в настраиваемом фильтре для отбора данных.
Метод | Описание | С версии |
---|---|---|
construct | Конструктор | |
addCheckboxValue | Метод преобразует значение типа чекбокс в формат bitrix:main.ui.filter. | |
addCustomDateValue | Метод преобразует значение типа диапазоны дат в формат bitrix:main.ui.filter. | |
addDateValue | Преобразует значение типа дата или дата/время в формат bitrix:main.ui.filter. | |
addDestSelectorValue | Метод преобразует значение типа привязка к сущности в формат bitrix:main.ui.filter. | |
addListValue | Метод преобразует значение типа список/множественный список в формат bitrix:main.ui.filter. | |
addNumberValue | Преобразует значение типа число в формат bitrix:main.ui.filter. | |
addStringValue | Преобразует значение типа строка в формат bitrix:main.ui.filter. | |
create | Преобразует фильтр блока в формат bitrix:main.ui.filter. | |
initFieldTypeHandlers | Служебный метод заполняет список поддерживаемых типов полей. |
Пример
Инициализация компонента bitrix:main.ui.filter значениями из фильтра блока при открытии формы настройки (настраиваемый фильтр для отбора данных). Обратите внимание, что в этом примере для полей нет ключа operators, т.к. он не требуется (хотя его наличие не запрещается).
$gridFilterConfig = new UI\Filter\Options('ИД_фильтра'); $preset = []; $request = \Bitrix\Main\Context::getCurrent()->getRequest(); $data = $request->getPost('filter'); // в этом ключе отдается фильтр блока в форму if (!empty($data) && is_array($data)) { $fields = []; // поля фильтра - см формат $fields['NAME'] = [ 'id' => 'NAME', 'type' => 'string', ]; $fields['ID'] = [ 'id' => 'ID', 'type' => 'number', ]; $fields['ENTITY_LIST'] = [ 'id' => 'ENTITY_LIST', 'type' => 'list', 'params' => [ 'multiple' => 'Y' ] ]; $fields['ACTIVE'] = [ 'id' => 'ACTIVE', 'type' => 'checkbox', 'operators' => [ 'default' => '' ] ]; $sourceFilter = new \Bitrix\Landing\Source\UiFilterPreset(); $sourceFilter->setFields($fields); $preset = $sourceFilter->create($data); } $gridFilterConfig->setFilterSettings( \Bitrix\Main\UI\Filter\Options::TMP_FILTER, [ 'name' => '', 'fields' => $preset ], true, false ); $gridFilterConfig->save();
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.