以前是否有取消订单或保存订单的事件?

时间:2015-10-08 10:18:55

标签: magento

如果订单被取消,我需要将金额退还给客户。我想在此之后根据结果(它的在线退款系统)处理退款我将取消订单。因此,在取消订单之前或保存订单对象之前,我正在查找事件。我尝试了sales_order_save_before事件。但它不起作用。我认为这个事件不存在。任何想法..?

1 个答案:

答案 0 :(得分:1)

您可以尝试controller_action_predispatch_sales_order_cancel

要记录所有事件,请在Mage.php中执行以下更改:

File: app/Mage.php
public static function dispatchEvent($name, array $data = array())
{
    Mage::log('Event: ' . $name); //not using Mage::log, as 
    //file_put_contents('/tmp/test.log','Dispatching '. $name. "\n",FILE_APPEND); //poor man's log
    Varien_Profiler::start('DISPATCH EVENT:'.$name);
    $result = self::app()->dispatchEvent($name, $data);
    #$result = self::registry('events')->dispatch($name, $data);
    Varien_Profiler::stop('DISPATCH EVENT:'.$name);
    return $result;
}

添加上述代码后,取消订单,然后检查system.log。它将记录取消订单操作之前,期间和之后触发的所有事件。您将能够从此日志中找到适合您的活动。

希望这会有所帮助。