2011-05-21 27 views
2

在我的自定義模塊中,我在會話變量中設置了一個標誌,並在controller_action_layout_render_before事件中檢查標誌是否設置,然後附加一個自定義內容。Magento - 加載頁面後執行的最後一個事件名稱

我想在加載頁面後取消設置會話變量中的標誌。

它是如何做到的。

是否有任何事件在頁面加載結束時執行?

回答

4

controller_front_send_response_after 

事件應該爲你工作。暫時添加一些記錄到app/Mage.php

public static function dispatchEvent($name, array $data = array()) 
{ 
    //Mage::Log($name);     
    file_put_contents('/tmp/event.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; 
} 

可以讓你已經解僱了特定的請求,這是通常足以追查你正在尋找自己的事件事件的列表。

2

我想你只是爲一個請求的生命存儲一個變量,你可能會考慮使用Magento的註冊表。基本上,你插入一個值爲Mage::register('some_variable_name',$variable);,並在相同請求中的其他上下文中檢索它Mage::registry('some_variable_name');

有關更多信息,請參閱@Alan Storm的回答here

相關問題