2011-06-24 63 views
3

我希望添加一些支付後生成的數據(API密鑰),然後我可以將其添加到確認訂單的電子郵件中。到目前爲止,我嘗試過的每一個事件都發生得太快(付款前)或太遲(電子郵件已經消失)。在Magento付款之後,最早可以觀察的觀察者是什麼?

我真的可以使用不只是一個事件的列表,而是他們觸發..我試過幾個,包括sales_order_payment_pay,sales_order_place_before,checkout_onepage_controller_success_action等順序..

回答

4

添加一些臨時調試代碼爲app/Mage.php

File: app/Mage.php  
public static function dispatchEvent($name, array $data = array()) 
{  
    Mage::Log('Event: ' . $name); 
    //use below line of calling Mage::Log doesn't work (happens in rare cases) 
    //file_put_contents('/tmp/events.log',"$name\n",FILE_APPEND); 
    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; 
} 
+0

謝謝。事實證明,我在正確的時間發送,只是電子郵件使用了不同的變量,而不是我認爲的那樣。 –