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

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
Наверх