Как найти место при применении правил цен на корзину?
Вопрос
Я ищу место в коде, где применяются правила цен на корзину. Допустим, я создал правило, и когда я добавляю немного продукта в корзину покупок, соответствующую этому правилу, это правило будет применено и может изменить цену. Я пытаюсь исследовать модуль SalesRules
, но без успеха. Может, кто -то может дать мне правильное направление?
Решение
Отправная точка для всех продаж - в наблюдателе:
\Mage_SalesRule_Model_Observer::sales_quote_address_discount_item()
Там \Mage_SalesRule_Model_Validator::process()
вызывается, где проверяется, следует ли применять правило:
if (!$this->_canProcessRule($rule, $address)) {
continue;
}
if (!$rule->getActions()->validate($item)) {
continue;
}
а затем применяются скидки.
Я надеюсь, что это поможет вам на пути к продажам.
Не связан с magento.stackexchange