2013-02-27 73 views
1

我試圖追趕,在僅前端範圍工作的事件,但事件我正在觀察這個目的事件觀察員的Magento FRONTEND

「controller_front_init_routers」

只能在全球範圍不是前端。 我試圖找到一個通過打印(在Mage.php dispatchEvent方法內)每個調度的事件名稱頁面加載時,但沒有任何這些事件在前端範圍下工作。 我需要在加載前端頁面時激活的事件。 請指教。

感謝,

+0

您是否嘗試過:controller_action_layout_generate_blocks_after – dagfr 2013-02-27 07:43:10

+0

@dagfr哇(對此):O我之前確實做錯了事情,您提到的事件。是的,這是在前端範圍內工作。請將其寫爲答案,以便我可以將其標記爲已接受。 – 2013-02-27 07:49:35

回答

2

爲了有一個事件更可調製,併爲您的工作更有效,我建議使用此事件:

controller_action_layout_generate_blocks_after

在你的功能,你可以做一些更精確的感謝:

public function yourEvent($event) { 
$controller = $event->getAction(); 
$action = $event->getFullActionName(); 
if ($action == 'catalog_product_view') //DO SOMETHING SPECIFIC TO PRODUCT PAGE 
elseif ($action == 'catalog_category_view') //DO SOMETHING SPECIFIC TO CATEGORY 
... 

問候,