要观察Magento事件名称

时间:2012-12-14 16:37:38

标签: magento magento-1.6

我需要在Magento(1.6.2)中添加一些代码,以便在订单状态变为完成时执行。 在我们的系统中,当订单处于“发货”状态时会发生这种情况 - 即单击“发货”按钮,并保存发货信息。

我已经寻找(显然是在错误的地方)试图找到该事件的名称,这样我就可以添加一个观察者来监视它,然后运行我的代码。

有人能告诉我这个事件的名称是什么(如果它作为一个可观察的事件存在)吗?

干杯!

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()

中创建自己的自定义事件