我制作了一个magento模块,它有多个方法,其中1个方法是ProcessOrderAction(),我想在每次最终结账前调用此方法,我的配置文件如下。
<?xml version="1.0"?>
<config>
<modules>
<kodework_ongoing>
<version>0.1.0</version> <!-- Version number of your module -->
</kodework_ongoing>
</modules>
<frontend>
<routers>
<mymodule>
<use>standard</use>
<args>
<module>kodework_ongoing</module>
<frontName>ongoing</frontName>
</args>
</mymodule>
</routers>
</frontend>
</config>
&#13;
答案 0 :(得分:1)
您可以使用事件checkout_cart_save_after
通过观察者挂钩。在使用购物车项目更改后通常调用的购物车保存之后,将触发此事件。
要使用此功能,您需要通过调用config.xml
课程和方法来更新observer
。
<?xml version="1.0"?>
<config>
<modules>
<kodework_ongoing>
<version>0.1.0</version> <!-- Version number of your module -->
</kodework_ongoing>
</modules>
<frontend>
<routers>
<mymodule>
<use>standard</use>
<args>
<module>kodework_ongoing</module>
<frontName>ongoing</frontName>
</args>
</mymodule>
</routers>
<!-- Hook into events start -->
<events>
<checkout_cart_save_after>
<observers>
<kodework_ongoing>
<class>kodework_ongoing/observer</class> <!-- The observer class where with the ProcessOrderAction method -->
<method>ProcessOrderAction</method>
</kodework_ongoing>
</observers>
</checkout_cart_save_after>
</events>
<!-- Hook into events end -->
</frontend>
</config>
如您所见,您需要observer
班app/code/local/Kodework/Ongoing/Model/Observer.php
<?php
class Kodework_Ongoing_Model_Observer
{
public function ProcessOrderAction($observer)
{
$cart = $observer->getData('cart');
$quote = $cart->getData('quote');
$items = $quote->getAllVisibleItems();
// More logic...
}
}