我经历了很多论坛,但我无法解决Magento EE 1.11版本中的FPC问题。当我浏览移动主题时,由于FPC,它取而代之的是网络主题。如果我禁用FPC,性能将下降。
有人可以帮我解决这个问题吗?
答案 0 :(得分:2)
主题未用作FPC uri的一部分,因此每个包只有一个缓存。
我写了一个小扩展来解决这个问题,你可以在Github上抓住它。
答案 1 :(得分:1)
我感觉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);
}
答案 2 :(得分:1)
一个简单的解决方案,不需要修补代码:
使用与themes-section中相同的regex-expression将一个例外添加到包部分中,并将其链接到与"当前包名称"完全相同的包名称。设置为。
<强> Prereqs:强>
主题级别的每个部分只有一个例外,例如iPhone|iPad -> iphone
(而不是iPhone -> iphone
+ iPad -> iphone
)
解释原因:
企业页面缓存在生成cacheid时会考虑包异常
但它不会检查包装名称是否相同!
因此,即使异常包与main相同,也会生成不同的cacheid,并且由于themes部分中的正则表达式异常相同,因此它们将使用新的chacheid存储在整页缓存中。
示例:强>
在&#34;企业&#34;包,有2个主题&#34;默认&#34;和&#34; iphone&#34;。
你希望运行主题&#34; iphone&#34;通过添加例外iPhone|iPad
对于&#34;模板&#34;,&#34;皮肤&#34;和&#34;布局&#34;在&#34;主题&#34;小节。
在&#34;包&#34;小节:
设置&#34;当前包名称&#34;到&#34;企业&#34;。
使用iPhone|iPad
- &gt;为包添加例外&#34;企业&#34;
在&#34;主题&#34;小节:
在&#34;模板&#34;中添加例外。与iPhone|iPad -> enterprise
为&#34;皮肤&#34;添加例外;与iPhone|iPad -> enterprise
在&#34;布局&#34;中添加例外。与iPhone|iPad -> enterprise
设置&#34;默认&#34;到&#34;默认&#34;
注意:强> 在测试之前,不要忘记在系统 - >高速缓存管理中清除FPC。