Какова внутренняя архитектура правил цен (рекламных акций) в Magento 2? - PullRequest
0 голосов
/ 28 ноября 2018

В частности, как Magento работает с большим количеством правил продвижения против большого количества товаров в корзине?Есть ли у него какие-либо механизмы для ускорения сопоставления фактов с образцами?Например, в Drools есть алгоритм Rete.Как это реализовано в Magento?

Официальная документация ничего не говорит об этом аспекте.Возможно, я использую неправильную документацию?

1 Ответ

0 голосов
/ 29 ноября 2018

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

Когда владелец магазина создает новое правило корзины / промо-акцииMagento преобразует каждое условие в правиле в некоторый токен.Затем он помещает все токены в специальный индекс с отношением один-ко-многим для схемы токенов rule_id.

Когда покупатель манипулирует с корзиной покупок, Magento генерирует токены для своей конкретной корзины покупок.Затем выполняется поиск соответствующих идентификаторов правил для комбинации токенов корзины клиента.

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

...