首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento EE 1.11.1,移动主题的全页面缓存问题?

问Magento EE 1.11.1,移动主题的全页面缓存问题?
EN

Stack Overflow用户
提问于 2012-09-13 19:34:04
回答 3查看 1.6K关注 0票数 2

我参加了很多论坛,但我无法解决Magento EE 1.11版本中的FPC问题。当我浏览手机主题时,由于FPC的原因,它采用的是web主题。如果我禁用FPC,性能将会下降。

有人能帮我解决这个问题吗?

EN

回答 3

Stack Overflow用户

发布于 2013-01-06 09:59:31

主题不作为FPC uri的一部分使用,因此每个包只有一个缓存。

我写了一个小扩展来解决这个问题,你可以在Github上获取它。

https://github.com/benjy14/MobileFpcFix

票数 2
EN

Stack Overflow用户

发布于 2012-09-14 02:58:47

我有一种感觉,Enterprise/PageCache中的设计异常支持在包级别上工作,而不是在主题级别上。看一下app/code/core/Enterprise/PageCache/Model/Observer.php.中引用设计异常的代码我的第一个建议是联系EE支持,也许他们可以提供适当的解决方案或补丁。或者,您可以通过重写enterprise_pagecache/processor来修改缓存键机制:

代码语言:javascript
复制
public function prepareCacheId($id)
{
    $package         = Mage::getDesign()->getPackageName();
    $templateTheme   = Mage::getDesign()->getTheme('template');
    $id              = $id.'_'.$package.'_'.$templateTheme;
    return parent::prepareCacheId($id);
}
票数 1
EN

Stack Overflow用户

发布于 2014-08-15 05:14:44

一个简单的解决方案,不需要任何代码补丁:

使用与主题部分相同的regex-expression将异常添加到package部分,并将其链接到与"Current package Name“设置为完全相同的包名。

前提条件:

在主题级别上,每个部分只有一个例外,例如iPhone|iPad -> iphone

(而不是iPhone -> iphone + iPad -> iphone)

解释其工作原理:

企业页面缓存在生成cacheid时会考虑包异常。

但是,它不会检查包名是否相同!

因此,即使异常包与main包相同,也会生成不同的cacheid,并且由于主题部分中的regex异常是相同的,它们将使用新的chacheid存储在整个页面缓存中。

示例:在“企业”包中,有两个主题:"default“和"iphone”。

您希望通过在“主题”小节中添加“模板”、“皮肤”和“布局”的异常iPhone|iPad来运行主题"iphone“。

在"Package“小节中:

设置“当前包名”为“企业”

使用iPhone|iPad -> "enterprise“将异常添加到包中

在“主题”小节中:

使用iPhone|iPad -> enterprise为"Templates“添加一个例外

使用iPhone|iPad -> enterprise为“皮肤”添加一个异常

用iPhone|iPad -> enterprise给“布局”添加一个例外

将"Default“设置为"default”

注意:在测试之前,不要忘记在系统->缓存管理中清除它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12405307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档