我正在创建一个完整的观察者模块,以便根据用户的导航语言更改商店视图。我的主要功能是由<controller_action_predispatch>
事件启动的。
所有工作都没有FPC激活。
但是一旦启用FPC并生成其缓存,Magento就不再通过控制器(例如,不在产品视图,类别视图或主页等常规页面上)。我做了我的研究,发现事件<http_response_send_before>
总是被派遣,即使启用了FPC。所以我改变了我之前的事件监听器,它没有FPC也很好用。
现在的问题是,当FPC被激活时,事件仍然正确调度(在Mage函数中记录),但没有附加任何观察者。我不知道一旦FPC启用,Magento如何在App.php中初始化$_events
,但它似乎是问题的核心。
我没有在互联网上找到关于这一点的帖子,所以任何帮助都会非常感激。
P.S。 :
答案 0 :(得分:0)
我在你的帖子上遇到了完全相同的问题。
启用Magento EE 1.14 FPC后,此事件;
http_response_send_before
使用干净缓存最多触发2次。之后,它永远不会再次触发和/或您指定的方法被缓存。经过对其他事件的大量测试后,我发现了;
controller_action_predispatch
随着FPC一直开火。将你观察到的事件交换到这一点,所有这一切都应该适合这个世界。
最佳, 汤姆