繁体   English   中英

Magento地理定位/ FPC

[英]Magento Geolocalization/FPC

在Magento EE中,我需要根据原始国家/地区,浏览器lang和cookie中设置的先前首选项来重定向客户。

我在使其与FPC一起使用时遇到很大的问题。

我试图观察controller_action_predispatch事件,但是FPC某种程度上缓存了我的重定向指令,而客户没有被重定向。

然后,我尝试了另一种解决方案:在Mage_Core_Model_App中扩展run()方法,以便在FPC开始工作之前执行操作。

不幸的是,我不知道为什么,在此方法内您无法访问Mage::getModel()Mage::helper()Mage::getConfig() ecc

你能帮我吗?

谢谢

我最近经历了同样的痛苦。 您走在正确的轨道上;

controller_action_predispatch

这是要观察的正确事件,如果您要重定向到启用了FPC的类别或产品页面,则可以很愉快地使用它。 问题是主页-这是一个cms页。 cms页面缓存不会触发controller_action_predispatch。 我通过将其添加到观察者中来解决此问题;

public function switchUser($event)
{

// CMS page bug, disable FPC to still use observer
    $action = $event->getEvent()->getControllerAction();
    if($action instanceof Mage_Cms_IndexController) {
         $cache = Mage::app()->getCacheInstance();
         $cache->banUse('full_page');
     }
// do the rest of your code here
}

cms页面中的块仍将缓存,因此该页面仍然是糊状的,尽管显然不如启用完整FPC的速度快。 我认为这是一个合理的权衡。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM