2013-05-08 50 views
2

我有一位觀察者正在傾聽controller_action_predispatch事件。這是因爲我正在爲客戶訪問的每個頁面執行一些與地理位置相關的邏輯。 我想要顯示一個燈箱彈出窗口來獲取客戶的輸入作爲邏輯的一部分。從觀察者彈出的Magento網站

我在這裏面臨的問題的一部分是在這個階段佈局沒有加載。 :(

這是可能的嗎?如果是什麼做的最好的有效的方式?

回答

1

所以我不得不用另外一個事件去訪問我的Observer的佈局,對我來說最好的一個是聽controller_action_layout_generate_blocks_after事件,然後我gra b一個塊,

$myblock = $observer->getLayout()->getblock('myblock'); 
$myblock->setMyvar('PassMyValue'); 

然後使用該值彈出我的燈箱以獲取用戶輸入。

1

Mage_Core_Controller_Varien_Action::renderLayout()

Mage::dispatchEvent('controller_action_layout_render_before'); 
Mage::dispatchEvent('controller_action_layout_render_before_'.$this->getFullActionName()); 

這事件可能更好地工作

+0

Thanx讓我想起不同的事件 – Thanu 2013-05-09 01:58:15