我需要向 Magento (1.6.2) 添加一些代码,以便在订单状态变为 Complete 时执行。在我们的系统中,当订单为“已发货”时会发生这种情况 - 即单击“发货”按钮,并保存发货信息。
我已经搜寻(显然在错误的地方)试图找到该事件将被调用,以便我可以添加一个观察者来观察它的触发,然后运行我的代码。
谁能告诉我这个事件的名称是什么(如果它作为可观察事件存在)?
干杯!
我需要向 Magento (1.6.2) 添加一些代码,以便在订单状态变为 Complete 时执行。在我们的系统中,当订单为“已发货”时会发生这种情况 - 即单击“发货”按钮,并保存发货信息。
我已经搜寻(显然在错误的地方)试图找到该事件将被调用,以便我可以添加一个观察者来观察它的触发,然后运行我的代码。
谁能告诉我这个事件的名称是什么(如果它作为可观察事件存在)?
干杯!
我也发现事件搜索有点像一门黑暗的艺术。在这种情况下,我会尝试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
}
}
一种可能的解决方案是创建一个覆盖此控制器的自定义模块
/app/code/core/Mage/Adminhtml/controllers/Sales/Order/ShipmentController.php
然后添加您的自定义代码或创建您自己的自定义事件public function saveAction()