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-2026, «1С-Битрикс», 2026
Пользовательские комментарии
Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.