您的位置:首页 > 其它

Magento Observer for order state is complete events

2013-12-26 17:50 381 查看
当订单的状态为complete 的时候,我们想去处理一些事情,可以通过observer来实现,使用"sales_order_save_commit_after" or "sales_order_invoice_pay" observer

然后我们可以获取订单的状态(order status),根据订单的状态去实现你的需求,例子如下:

config.xml中配置

<events>
<sales_order_save_commit_after>
<observers>
<erp>
<class>erp/observer</class>
<method>syncOrder</method>
</erp>
</observers>
</sales_order_save_commit_after>

or

<sales_order_invoice_pay>
<observers>
<erp>
<class>erp/observer</class>
<method>syncOrders</method>
</erp>
</observers>
</sales_order_invoice_pay>
</events>
Observer.php文件

// for event sales_order_save_commit_after
public function syncOrder($observer)
{
$order = $observer->getEvent()->getOrder();
if($order->getState() == Mage_Sales_Model_Order::STATE_COMPLETE){
// do your order complete stuff
}
}

or

// Event sales_order_invoice_pay
public function syncOrder ($observer)
{
$invoice = $observer->getEvent()->getInvoice();
switch ($invoice->getState()) {
case Mage_Sales_Model_Order_Invoice::STATE_PAID :
//do your stuff
break;
}
return $this;
}


在order的状态设置为complete 的时候,就会去执行syncOrder方法了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐