我正在研究这个观察者,用于在页面加载时从 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>
最佳答案
我不是100%确定,但看起来事件controller_front_init_routers在前端作用域初始化之前调度。因此,如果可能的话,您应该选择稍后触发的其他事件。我不太明白,你的任务是什么,但也许事件controller_action_predispatch是可以接受的?
关于Magento 事件观察者范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12079411/