FilterQueriesMaker

Описание

Класс для фильтрации по индексу. Умеет фильтровать как искомые сущности, так и сами данные фильтров.

Варианты использования:

  • Получить данные для построения фильтра:

    
    $queriesMaker = new FilterQueriesMaker($indexGenerator);
    $queriesMaker->setFilteredFieldsNames('price', 'weight');
    $queriesMaker->parseFilters();
    $filterData = $queriesMaker->getFiltersData();
    
    
  • Получить идентификаторы отфильтрованных сущностей:

    
    $queriesMaker = new FilterQueriesMaker($indexGenerator);
    $queriesMaker->setFilteredFieldsNames('price', 'weight');
    $queriesMaker->parseFilters();
    $entitiesIds = $queriesMaker->getFilteredEntitiesIds();
    
    
  • __construct() — Конструктор класса
  • setParentIds() — Устанавливает идентификаторы страниц, которые являются родительскими для искомых страниц
  • setTypeIds() — Устанавливает идентификаторы типов данных, к которым относятся искомые сущности
  • setLangIds() — Устанавливает идентификаторы языков, к которым относятся искомые страницы
  • setDomainIds() — Устанавливает идентификаторы доменов, к которым относятся искомые страницы
  • ignoreVirtualCopies() — Включает игнорирование виртуальных копий в результате фильтрации страниц
  • setIgnorePermissionsStatus() — Устанавливает статус игнорирования прав на просмотр при фильтрации страниц
  • setFilteredFieldsNames() — Устанавливает гуиды полей, по которым необходимо строить фильтр
  • setLimit() — Устанавливает ограничение на количество фильтруемых сущностей
  • setOffset() — Устанавливает смещение выборки фильтруемых сущностей
  • setShowAllValuesInRangedFields() — Включает отдачу вариантов значений для полей, поддерживающих диапазонные значения
  • isPermissionsIgnored() — Возвращает статус игнорирования прав на просмотр при фильтрации страниц
  • parseFilters() — Разбирает GET и устанавливает данные, по которым производится фильтрация
  • getFilters() — Возвращает данные, по которым производится фильтрация
  • getFiltersFieldsNames — Возвращает гуиды полей, по которым производится фильтрация
  • getFilteredEntitiesCount() — Возвращает количество сущностей, которое будет получено в результате фильтрации
  • disableShowingSelectedValues() — Отключает отдачу информацию о том, какие значения выбраны в фильтре
  • disableUpdatingSelectedFilters() — Отключает уточнение данных фильтрации, на основе выбранных значений в фильтре
  • getFilteredEntitiesIds() — Возвращает идентификаторы сущностей, найденных в результате фильтрации.
  • getFiltersData() — Возвращает данные для построения фильтров