2013-05-08 72 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