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

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

Описание

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

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

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

  • 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-2021, «1С-Битрикс», 2021
Наверх