Оптимизация скорости загрузки mFilter2 с более 3000 товаров и учетом скидок

Сайт solid-copy.u0415865.isp.regruhosting.ru/ на MODX Revolution 2.7.1.

Необходимо оптимизировать работу msFilter2.



Сейчас для того, чтобы учитывались скидки, проставленные для групп товаров и групп пользователей через msDiscount, и в фильтре цен отображались корректные данные, совершается слишком много запросов в БД и страница сайта с фильтром очень долго загружается, если количество товаров в категории около 3 000

(http://solid-copy.u0415865.isp.regruhosting.ru/magazin/smennyie-plastinyi/tokarnyie/rezbovyie/ ).



Необходимо расширить класс фильтрации msFilter2, подогнав его под msDiscount, чтобы оптимизировать работу сниппета фильтра и увеличить скорость его выполнения.



Автор mFilter2 Василий Наумкин посоветовал:

«Вам нужно писать свои кастомные фильтры, которые будут обрабатывать скидки без создания объекта товаров. То есть, работать с дополнениями, которые модифицируют цену, напрямую, не через систему плагинов, как сейчас. Это не так универсально, но в вашей ситуации я иного выхода не вижу — только включить &noPreciseMSFilters=`1`, и использовать свою версию фильтра, который сделает ту же работу, но быстрее и именно с тем дополнением скидок, который вы используете».



Если работу с msDiscount оптимизировать невозможно, допустимо свое решение для функционала скидок. Для клиента нужны скидки на группы товаров, или для группы пользователей (розничные, оптовые, если авторизовались), или на товар в зависимости от цены и характеристик в процентах.



Допустимо также написание своего сниппета фильтра. Главное, чтобы он работал со всеми полями товара, опциями, тв и теми типами скидок, которые есть.



Время работы и стоимость обсуждается.

Pandaworks
Бюджет проекта:
Неопределен
Версия MODX:
Revolution
Разработчики:
Любые
Срок до:
10.05.2020

Предложения (0)


Для добавления комментариев вы должны или зарегистрироваться.