Автор дополнения
Артур Шевченко
Пакетов
10
Закачек
3 017
Обычно отвечает в течение суток
Автор дополнения
Пакетов
10
Закачек
3 017
Обычно отвечает в течение суток
Версия 1.0.5-pl
Дата выпуска 04.02.2026
Загрузки 19
Просмотры 2 833
Внимание, этот компонент несовместим с MODX 3.
Это альтернатива всем известному компоненту mSearch2. Компонент предлагает другой подход к фильтрации, что приводит как к значительному увеличению скорости фильтрации, так и к ряду особенностей. Это некое компромиссное решение между mSearch2 и сервисами типа ElasticSearch или Sphinx.

Перед установкой компонента убедитесь, что у вас установлен SendIt версии 2.0.0 или выше.

Преимущества
1. Не требует установки на сервер сторонних библиотек или сервисов типа ElasticSearch или Sphinx.
2. Высокая скорость фильтрации (менее 1 секунды при 100 000 товаров).
3. Простота настройки, при использовании стандартных классов.
4. Фильтрация по множественным значениям.
5. Умеет фильтровать пользователей.
6. Умеет фильтровать по полям тип migx с глубиной вложенности не более 1.
7. Кастомизация логики с помощью плагинов.

Особенности
1. Не умеет показывать количество совпадений по отдельным фильтрам.
2. Умеет блокировать значения фильтров, которые точно вернут пустой результат.
3. Возвращает результат в виде строки со списком id, но не готовый html или объект.
4. Нет встроенного поиска.

1.0.5-pl

  • Добавил JS событие 'ff:before:reset'.

1.0.4-pl

  • Переработал блокировку недоступных значений.
  • Немного изменил логику работы обработчика ответов сервера в JS.
  • Добавил в метаданные таблиц движок InnoDB.

1.0.3-pl

  • Мелкие правки в JS.
  • Добавил установку количества результатов при возвращении id из события ffOnAfterFilter.
  • Добавил обнуление OFFSET при обновлении фильтров.
  • Добавил проверку получения пользователя при индексации ресурсов.
  • Добавил параметр excludeFilters вызова ffGetFilterForm для исключения фильтров без необходимости создавать новую конфигурацию.

1.0.2-pl

  • Добавил системные настройки ff_resource_types и ff_user_types.

1.0.1-pl

  • Небольшая оптимизация JavaScript.
  • Добавил обратные кавычки в запрос получения ключей фильтров.
  • Добавил проверку на пустоту для полей extended.

1.0.0-pl

  • Добавил системное событие ffOnBeforeSetIndexValue.

1.0.0-rc5

  • Добавил системное событие ffOnAfterGetFilterValues.
  • Сделал свойство $config в классе IndexingResources публичным.
  • Добавил проверку существования объект в функции получения родителей.
  • Переписал метод getParentIds в классе FlatFilters.
  • Убрал вывод выбранного варианта сортировки в списке выбранных фильтров.
  • Добавил преобразование json в массив для параметра sortby.
  • Сделал свойство tokens публичным.

1.0.0-rc4

  • Исправил ошибку в основном классе.

1.0.0-rc3

  • Добавил резолвер на удаление таблиц.
  • Добавил обработку события submit в JS.
  • Добавил системные события ffOnBeforeFilter, ffOnAfterFilter и ffOnBeforeRender.
  • Добавил проверку количества фильтров, чтобы не блокировать значения при 1 фильтре.
  • Добавил в конфигурацию JS параметр hideClass для скрытия элементов.
  • Добавил передачу пресетов в JS.
  • Добавил системную настройку со списком пресетов.
  • Добавил обработку изменения лимита на странице.
  • Добавил индексирование пользователя при сохранении.
  • Добавил в JS метод updateFilters(), позволяющий перефильтровать ресурсы.
  • Изменил метод JS метод reset(), чтобы он триггерил метод update().
  • Оптимизировал построение url.
  • Удалил старые файлы
  • Поменял сравнение $value на более строгое в методax getAllFiltersValue(), getFilterSql() и процессорах  create и update в методе prepareDefaultFilters()
  • Добавил событие ffOnBeforeSetFilterConditions()
  • Вынес обновление урла в отдельную функцию
  • Переделал методы индексации indexingDocument и indexingUser под общий формат входных данных - объекты.
  • Добавил передачу парамеров вызова сниппета в чанки.
  • Удалил подключение старого обработчика из процессора индексации.
  • Исправил опечатку в методе decodeJsonValue класса IndexingResources.
  • Добавил передачу пресета в обработчик пагинации через форму или поле.
  • Добавил проверку на 0 в метод removeResourceIndex().
  • Добавил проверку существования пользователя в плагин.
  • Добавил системное событие ffOnBeforeGetFilterValues.
  • Удалил из опций событий параметр FlatFilters.

1.0.0-beta2

  • Добавил проверку наличия конфига migx.

1.0.0-beta

  • Первая сборка.

Последние обсуждения в сообществе MODX.pro