1

我正在尝试捕获仅在前端范围内有效的事件,但我为此目的正在观察的事件

“controller_front_init_routers”

仅适用于全局范围而不是前端。我试图通过在页面加载时打印(在 Mage.php dispatchEvent 方法内)每个调度的事件名称来找到一个,但这些事件都没有在前端范围内起作用。我需要一个在前端页面加载时被激活的事件。请指教。

谢谢,

4

1 回答 1

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
...

问候,

于 2013-02-27T07:58:34.810 回答