
История изменений
Версии
| Версия | Дата | Описание |
|---|---|---|
| 1.8.0 | 2026 | Фоновые задачи заработали, переиндексация делает всё, подписи значений вместо идентификаторов |
| 1.7.0 | 2026 | Исправления: пустая страница из-за Fenom, значения фильтров в подразделах |
| 1.6.0 | 2026 | Рабочий JS API для внешних элементов управления, паттерны URL для диапазонов |
| 1.5.0 | 2026 | Индивидуальные SEO-страницы для подборок, разрешение конфликтов слагов |
| 1.4.0 | 2026 | Индекс фасетов, ускорение фильтрации в 15–20× |
| 1.3.0 | 2026 | Select disabled, удаление legacy JS, range-фильтры |
| 1.2.0 | 2026 | Прогрев кэша фильтров (warmup) |
| 1.1.0 | 2024 | Новые сниппеты, SEO улучшения, рефакторинг |
| 1.0.0-beta1 | 2024 | Первый публичный релиз |
mFilter 1.8.0
Повторяющиеся задачи планировщика не выполнялись ни на одной установке — теперь они заводятся при установке и начинают работать. Кнопка «Переиндексация» делает всё, что обещает: индекс TV, алиасы по наборам и очистку кэша последним шагом. Фильтр по TV со списком ресурсов показывает названия страниц вместо идентификаторов, привязка @SELECT снова работает. Две пересборки индекса больше не идут одновременно. Фигурная скобка в данных товара больше не роняет страницу в пустоту.
mFilter 1.7.0
Каталог отдавал пустую страницу на сайтах, где разметку собирает Fenom: фигурная скобка в данных фильтра останавливала сборку. Фильтры в подразделах показывали значения всего каталога. Скрытый ключ у фильтров по датам строил адрес, который сам же не открывался. Страница под разделом с фильтрами была недоступна, если её адрес читался как фильтр.
mFilter 1.6.0
Фильтрами можно управлять из своего кода: mfilterGet() отдаёт форму на странице, а setFilter(), addFilter() и setSort() сами отправляют запрос — кнопка или селект вне формы работают без обвязки. Паттерны URL научились диапазонам через подстановки {min} и {max}. В админке сохранение набора фильтров больше не стирает настройки и не даёт двум строкам занять один ключ.
mFilter 1.5.0
Индивидуальные SEO-страницы для подборок: собственные title, h1, description и текст для конкретной комбинации фильтров, с пофайловым откатом на SEO-шаблон по каждому полю. Записи создаются по требованию и привязаны к значению фильтра, а не к URL. Разрешение конфликтов слагов с настройкой mfilter.slug_parent_prefix, переменные состояния фильтров в чанке формы, параметр &searchVar.
Патч 1.5.1 чинит переменные чанков, разделитель в ссылках пагинации и настройку mfilter.default_limit.
mFilter 1.4.0
Денормализованный индекс фасетов (две таблицы text/num) заменяет тяжёлые JOIN'ы по msProductData/msProductOption/modTemplateVarResource. На каталоге 30k — ускорение применения фильтра с ~30с до ~1.7с, расчёт suggestion'ов с сотен мс до единиц. Прозрачное чтение, бесшовная миграция при upgrade, инкрементальная пересборка при сохранении набора. Новая вкладка «Обслуживание» с управлением индексом, кнопка «Переиндексация» в шапке. Старый прогрев baseIds помечен как Legacy.
mFilter 1.3.0
Удаление legacy JS стека (-2500 строк), select-фильтры с disabled option, универсальный парсинг range из URL, автообновление frontend_assets при апгрейде.
mFilter 1.2.0
Подсистема прогрева кэша для мгновенной загрузки страниц каталога с первого обращения. Вкладка «Прогрев кэша» в админке, автосоздание конфигураций, рекуррентный таск Scheduler, фикс таймзон UTC.
mFilter 1.1.0
Крупное обновление с новыми возможностями:
Новые сниппеты:
- mFilterCrumbs — хлебные крошки с фильтрами
- mFilterSelected — выбранные фильтры
- mFilterNav — SEO-навигация
- mFilterSitemap — карта сайта
SEO:
- Schema.org Microdata и JSON-LD в хлебных крошках
- Улучшенная логика canonical URL
- Человекочитаемые метки для parent и vendor_id
Архитектура:
- Переход на FilterSetManager (удалён MflPageConfig)
- Переименование настроек:
mfl_*→mfilter.* - PHPStan статический анализ
mFilter 1.0.0-beta1
Первый публичный релиз:
- SEO-friendly URL для фильтрованных страниц
- Типы фильтров: default, number, boolean, parents, date, vendors, colors
- Русские словоформы через morpher.ru API
- Vue 3 админка с PrimeVue
- AJAX фильтрация с History API
- Мобильная адаптация
- Многозонное обновление контента
- Настраиваемые URL паттерны
- Автоматическая генерация слагов
- SEO шаблоны с плейсхолдерами и склонениями
- Управление кэшем
- Интеграция с MODX Scheduler
