Как найти место при применении правил цен на корзину?

magento.stackexchange https://magento.stackexchange.com/questions/1148

  •  16-10-2019
  •  | 
  •  

Вопрос

Я ищу место в коде, где применяются правила цен на корзину. Допустим, я создал правило, и когда я добавляю немного продукта в корзину покупок, соответствующую этому правилу, это правило будет применено и может изменить цену. Я пытаюсь исследовать модуль 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;
}

а затем применяются скидки.

Я надеюсь, что это поможет вам на пути к продажам.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top