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

1 1
Сайт 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 оптимизировать невозможно, допустимо свое решение для функционала скидок. Для клиента нужны скидки на группы товаров, или для группы пользователей (розничные, оптовые, если авторизовались), или на товар в зависимости от цены и характеристик в процентах.

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

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

E-mail: lora.yanubaeva@pandaworks.ru
pandaworks
12 марта 2020, 14:19
modx.pro
400
0

Комментарии в этом разделе отключены, так что вы должны указать свои контакты прямо в объявлении, или активировать отправку сообщений из профиля.

Обратите внимание, что modx.pro не несёт никакой ответственности за выполнение работы или оплату заказа. Это просто доска объявлений, дальше вы общаетесь за пределами нашей площадки.