Может ли кто-нибудь объяснить xml-код ie. событие процесса валидатора salesrule в magento?


<events>
    <salesrule_validator_process>
        <observers>
            <new_dicount_coupon>
                <type>singleton</type>
                <class>Test_Mrp_Model_Observer</class>
                <method>newcoupondiscountcal</method>
            </new_dicount_coupon>
        </observers>
    </salesrule_validator_process>
</events>
Author: jassi, 2016-09-10

2 answers

Событие Salesrule_validator_process передает объекты в виде приведенного ниже кода.

Mage::dispatchEvent('salesrule_validator_process', array(
     'rule'    => $rule,
     'item'    => $item,
     'address' => $address,
     'quote'   => $quote,
     'qty'     => $qty,
     'result'  => $result,
    ));
  1. В упомянутом xml-файле вы можете получить доступ к данным в Test_Mrp_Model_Observer внутри метода newcoupondiscountcal

  2. <type>singleton</type> вернет выходящий объект, если уже найден объект.

Некоторые из ссылок

Чтобы получить купон

$coupon_code = $quote->getCouponCode();

Чтобы удалить купон

 $quote->setCouponCode('');
 $quote->collectTotals()->save();
 4
Author: Krishna ijjada, 2016-09-10 06:09:28

Это для вызова метода при событии salesrule_validator_process.

В этом случае метод newcoupondiscountcal() вызовет из вашего файла наблюдателя модуля. и в этом методе вы можете выполнить свой расчет во время проверки salesrule.

В этом new_dicount_coupon просто имя, которое вы должны определить.

 1
Author: Ashish Jagnani, 2016-09-10 05:51:36