我需要在Magento(1.6.2)中添加一些代码,以便在订单状态变为完成时执行。 在我们的系统中,当订单处于“发货”状态时会发生这种情况 - 即单击“发货”按钮,并保存发货信息。
我已经寻找(显然是在错误的地方)试图找到该事件的名称,这样我就可以添加一个观察者来监视它,然后运行我的代码。
有人能告诉我这个事件的名称是什么(如果它作为一个可观察的事件存在)吗?
干杯!
答案 0 :(得分:2)
我也发现event hunting有点像黑暗艺术。在这种情况下,我会尝试sales_order_save_before
,然后检查这样的处理程序:
function onSalesOrderSaveBefore(Varien_Event_Observer $observer)
{
$order = $observer->getOrder();
if (($order->getData('status') == 'complete')
&& ($order->getOrigData('status') != 'complete')) {
// then order has just been completed
}
}
答案 1 :(得分:0)
一种可能的解决方案是创建一个覆盖此控制器的自定义模块
/app/code/core/Mage/Adminhtml/controllers/Sales/Order/ShipmentController.php
然后添加自定义代码或在public function saveAction()