我正在尝试捕获仅在前端范围内有效的事件,但我为此目的正在观察的事件
“controller_front_init_routers”
仅适用于全局范围而不是前端。我试图通过在页面加载时打印(在 Mage.php dispatchEvent 方法内)每个调度的事件名称来找到一个,但这些事件都没有在前端范围内起作用。我需要一个在前端页面加载时被激活的事件。请指教。
谢谢,
我正在尝试捕获仅在前端范围内有效的事件,但我为此目的正在观察的事件
“controller_front_init_routers”
仅适用于全局范围而不是前端。我试图通过在页面加载时打印(在 Mage.php dispatchEvent 方法内)每个调度的事件名称来找到一个,但这些事件都没有在前端范围内起作用。我需要一个在前端页面加载时被激活的事件。请指教。
谢谢,
为了使您的任务更可模块化和更高效,我建议使用此事件:
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
...
问候,