【发布时间】:2013-10-14 15:13:58
【问题描述】:
有谁知道如何实现一个在订单付款或完成时触发的自定义“模块”?
我怎样才能从那个观察者那里调用订单数据?
我也在使用“序列号”插件,我想发送 给购买此产品的人的电子邮件,包含序列号 代码。
有没有人可以帮帮我?
【问题讨论】:
标签: php xml magento observers serial-number
有谁知道如何实现一个在订单付款或完成时触发的自定义“模块”?
我怎样才能从那个观察者那里调用订单数据?
我也在使用“序列号”插件,我想发送 给购买此产品的人的电子邮件,包含序列号 代码。
有没有人可以帮帮我?
【问题讨论】:
标签: php xml magento observers serial-number
您可以为sales_order_save_before 事件编写观察者。在观察者方法中,您可以通过$observer->getEvent()->getOrder() 获取订单。然后您可以检查订单状态/状态并在订单完成时添加您的代码。这是最安全的方法,但缺点很小,即在保存订单时始终会触发观察者功能。示例代码:
public function onCompleteOrder(Varien_Event_Observer $observer)
{
/** @var $order Mage_Sales_Model_Order */
$order = $observer->getEvent()->getOrder();
if ($order->getState() == Mage_Sales_Model_Order::STATE_COMPLETE) {
// do something
}
return $this;
}
顺便说一句:Magento 订单通常在什么时候完成
【讨论】: