1
如果订单被取消,我需要将金额退还给客户。我想根据结果初步处理退款(它是在线退款系统),我将取消订单。所以我在取消订单之前或保存订单对象前查找事件。我尝试使用sales_order_save_before
事件。但它不起作用。我认为这个事件不存在。有任何想法吗 ..?以前是否有任何取消订单的事件或保存订单?
如果订单被取消,我需要将金额退还给客户。我想根据结果初步处理退款(它是在线退款系统),我将取消订单。所以我在取消订单之前或保存订单对象前查找事件。我尝试使用sales_order_save_before
事件。但它不起作用。我认为这个事件不存在。有任何想法吗 ..?以前是否有任何取消订单的事件或保存订单?
您可以尝试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。它将记录取消订单操作之前,期间和之后发生的所有事件。您将能够从此日志中找到适合您的活动。
希望这会有所帮助。
这里有一个很好的事件cheatsheet:https://www.nicksays.co.uk/magento-events-cheat-sheet-1-7/ – Karl
是的,我知道。但是我找不到与我的情况有关的事件。 – Elavarasan