我参加了很多论坛,但我无法解决Magento EE 1.11版本中的FPC问题。当我浏览手机主题时,由于FPC的原因,它采用的是web主题。如果我禁用FPC,性能将会下降。
有人能帮我解决这个问题吗?
发布于 2013-01-06 09:59:31
主题不作为FPC uri的一部分使用,因此每个包只有一个缓存。
我写了一个小扩展来解决这个问题,你可以在Github上获取它。
发布于 2012-09-14 02:58:47
我有一种感觉,Enterprise/PageCache中的设计异常支持在包级别上工作,而不是在主题级别上。看一下app/code/core/Enterprise/PageCache/Model/Observer.php.中引用设计异常的代码我的第一个建议是联系EE支持,也许他们可以提供适当的解决方案或补丁。或者,您可以通过重写enterprise_pagecache/processor来修改缓存键机制:
public function prepareCacheId($id)
{
$package = Mage::getDesign()->getPackageName();
$templateTheme = Mage::getDesign()->getTheme('template');
$id = $id.'_'.$package.'_'.$templateTheme;
return parent::prepareCacheId($id);
}发布于 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”
注意:在测试之前,不要忘记在系统->缓存管理中清除它。
https://stackoverflow.com/questions/12405307
复制相似问题