1

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

我已经搜寻(显然在错误的地方)试图找到该事件将被调用,以便我可以添加一个观察者来观察它的触发,然后运行我的代码。

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

干杯!

4

2 回答 2

2

我也发现事件搜索有点像一门黑暗的艺术。在这种情况下,我会尝试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
    }
}
于 2012-12-15T00:38:22.883 回答
0

一种可能的解决方案是创建一个覆盖此控制器的自定义模块

/app/code/core/Mage/Adminhtml/controllers/Sales/Order/ShipmentController.php

然后添加您的自定义代码或创建您自己的自定义事件public function saveAction()

于 2012-12-14T23:36:40.187 回答