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

Преобразование фильтра блока

Описание

Рекомендованный формат фильтра блока

Для преобразования фильтра блока (в случае следования рекомендациям) в другие форматы служат классы:

Для преобразования в первую очередь необходимо описать все поля фильтра. Каждое поле описывается таким образом:

  • id - Идентификатор поля. Соответствует полю key условия из фильтра блока
  • type - тип поля. Возможные значения:
    • string - строка
    • number - число
    • date - дата
    • custom_date - диапазоны дат
    • list - список/множественный список для выбора
    • checkbox - чекбокс (выбран/не выбран)
    • dest_selector - выбор привязки к сущности
  • operators - массив префиксов для генерации orm-фильтра (см. \Bitrix\Landing\Source\DataFilter)

Для полей типа список (list) можно указать признак множественности:

params => [
	'multiple' => 'Y'
]

Для полей типа date можно разрешить выбор времени:

time => true;

Ключами массива полей являются идентификаторы поля.

Пример описания фильтра

$fields = [];
	// поле NAME типа строка
	$fields['NAME'] = [
		'id' => 'NAME', // идентификатор (совпадает с ключом массива)
		'type' => 'string', // тип поля Строка (main.ui.filter)
	];
	// поле ID типа число
	$fields['ID'] = [
		'id' => 'ID', // идентификатор (совпадает с ключом массива)
		'type' => 'number', // тип поля Число (main.ui.filter)
	];
	// поле ENTITY_LIST типа список
	$fields['ENTITY_LIST'] = [
		'id' => 'ENTITY_LIST', // идентификатор (совпадает с ключом массива)
		'type' => 'list', // тип поля Список (main.ui.filter)
		'params' => [ // параметры
			'multiple' => 'Y' // множественный выбор
		]
	];
	// поле ACTIVE типа чекбокс
	$fields['ACTIVE'] = [
		'id' => 'ACTIVE', // идентификатор (совпадает с ключом массива)
		'type' => 'checkbox', тип поля Чекбокс (main.ui.filter)
		'operators' => [ // префиксы для условий
			'default' => '' // префикс по умолчанию
		]
	];


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