我正在尝试捕获仅在前端范围内工作的事件,但我正在为此目的观察事件
“controller_front_init_routers”
仅适用于全球范围而非前端。 我试图通过在页面加载时打印(在Mage.php dispatchEvent方法内)每个调度的事件名称来找到一个,但这些事件都没有在前端范围内工作。 我需要一个在前端页面加载时激活的事件。 请指教。
感谢,
答案 0 :(得分: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
...
此致