我正在使用此Observer在页面加载时从URL中提取参数,并希望有人可以帮我弄清楚如何让我的工作方式如何。我只希望这个观察者在前端页面加载而不是后端发射。如果我将范围设置为如下所示,它不起作用。如果我把它改成全局它就会好起来。我该如何解决这个问题?
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<MyCompany_Mailchimp>
<version>1.0.0</version>
</MyCompany_Mailchimp>
</modules>
<frontend>
<events>
<controller_front_init_routers>
<observers>
<Mailchimp_observer>
<type>singleton</type>
<class>MyCompany_Mailchimp_Model_Observer</class>
<method>catchMailchimpParams</method>
</Mailchimp_observer>
</observers>
</controller_front_init_routers>
</events>
</frontend>
</config>
答案 0 :(得分:2)
我不是百分百肯定,但在初始化前端范围之前看起来像事件controller_front_init_routers调度。因此,如果可能,您应该选择其他事件,以后会触发。我不太明白,你的任务是什么,但也许事件controller_action_predispatch可以接受?
答案 1 :(得分:1)
尝试侦听controller_action_layout_load_before事件,而不是controller_front_init_routers。此事件仅在前端触发。有关Magento事件列表的更多信息,请阅读here。