Загрузка
Документация

Данная инструкция предназначена для людей, имеющих базовые знания в HTML, Smarty, PHP. Разработчик плагина не осуществляет бесплатных работ по оптимизации и профилированию.

Плагин Гибкие скидки и бонусы для своей работы использует хук frontend_products, который из-за своих особенностей очень часто вызывается в темах дизайна и других плагинах. Например, при получении списка товаров, общей суммы заказа, общего размера скидок и тд. Часть этих вызовов может быть оптимизирована.

Ниже перечень запросов, которые вызывают расчеты скидок:

Smarty:


PHP:


Любое очищение сессии shop/cart также за собой повлечет вызов плагина скидок для обновления данных в запросах, указанных выше.

Ниже подготовлен перечень рекомендаций по оптимизации работы плагина, тем дизайна и сторонних разработок. Выполняя рекомендации, обязательно учитывайте удобство для пользователя.

Рекомендации по оптимизации

1) Отключите или удалите плагин.

Данный пункт позволит значительно улучшить показатели быстродействия, потому что плагин перестанет использовать ресурсы сервера для создания систем скидок.

2) Обновите плагин

Всегда используйте актуальную версию плагина.

Для того чтобы узнать вашу текущую версию, вам необходимо:

  • открыть приложение "Инсталлер - Установлено",
  • найти строку, где будет название Flexdiscount, запомнить вашу версию плагина,
  • открыть официальную страницу обновлений плагина и убедиться, что номера версий совпадают.

3) Отключите настройку "Изменение цен товаров на витрине".

Именно данная настройка использует хук frontend_products и является наиболее ресурсоемкой.

Если вы остановитесь на данном пункте, все рекомендации ниже для вас будут неактуальны. Если отключить настройку нет возможности, тогда продолжайте.

4) "Не использовать изменение цен для плагинов".

Данная настройка находится под пунктом "Изменение цен товаров на витрине". Она отключает запросы от плагинов через хук frontend_products.

В некоторых ситуациях использование данной настройки позволит вам избежать критических ошибок в работе сайта

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

5) Измените количество кешируемых товаров.

Откройте системные настройки и уменьшите значение кешируемых товаров. Установите 50 или 30.

Темы дизайна

6) Обратите внимание на вызовы запросов в цикле.

Это категорически запрещено!

Если найдете похожую конструкцию в шаблоне, срочно меняйте ее:


Следует вынести вызов товаров за пределы цикла, а в цикле уже работать с переменной $products:


7) Уменьшите количество вызовов суммы заказа, размера скидок, коллекций товаров.

Часто в шаблонах в разных местах можно встретить следующие конструкции:


Вместо множественного вызова можно поместить данные в переменные и выводить их в остальных местах:


8) Оптимизируйте коллекции товаров.

Некоторые вызовы {$wa->shop->products(...)} могут быть осуществлены без необходимости получения актуальных скидок для товаров. По умолчанию при каждом таком вызове происходит обращение к плагину скидок. Если вам нужно получить только значения характеристик или названия товаров, отключайте вызов скидок.

Для этого используйте параметр no_plugins_frontend_products. Например, данная конструкция:


Может быть заменена на следующую:


Или так:


Заменить на:


Или так:


Заменить на:


Стоит отметить, что это должен быть 4 параметр.

PHP-файлы

9) Оптимизируйте коллекции товаров.

Аналогично 6 пункту. Не всегда вызов коллекций необходим со скидками.

Используйте следующую конструкцию:


10) Используйте параметры плагина.

Плагин "Гибкие скидки и бонусы" имеет параметры, при помощи которых можно запретить расчеты скидок в хуке frontend_products, если в том нет необходимости.

Вы можете использовать следующий параметр, чтобы запретить пересчет скидок.


Параметр блокирует вызов хука frontend_products.

Не забудьте вернуть обратно хук в работу, иначе можно нарушить работу других плагинов.

Рассмотрим на примере:


11) Правило запрета вместо "Не равно".

В правилах скидок вместо условий с оператором "не равно" (для условий из группы Товар) лучше создайте правило запрета.

Данная рекомендация актуальна, если количество товаров при операторе "равно" будет меньше, чем при операторе "не равно".

Плагины импорта/экспорта

12) Плагин Яндекс.Маркет.

Если вы наблюдаете проблемы быстродействия, вам необходимо выполнить следующие шаги:

  • Установите бесплатный плагин "Скрытые настройки"
  • Измените значение параметра products_per_request. Установите 50 или 30


В плагине имеется возможность получения полной картины вызовов. Для этого необходимо выполнить профилирование. На основании полученных данных будет понятно, какой рекомендацией стоит воспользоваться и в каком именно месте.

Опубликовано: 4 сентября 2020
0
Запрос на обработку

Можете заполнить форму, и мы свяжемся с вами

Ваше имя
Email
Сообщение