Magento - 整页缓存会导致设计异常(多个主题)无法正常工作


Magento - full page cache causes design exceptions (multiple themes) to not work correctly

我正在运行Magento企业版v1.9.0.0,发现您无法将整页缓存与由设计异常(即用户代理字符串)控制的多个主题一起使用。

缓存

不考虑主题名称,并使用最初缓存时使用的任何主题提供页面。这意味着桌面用户可以看到移动主题,反之亦然。

我发现EE v1.11有一个修复程序,它简单地将当前主题的名称添加到FPC URI(从而为正在使用的每个主题创建页面的缓存副本),但它不适用于v1.9。

它试图覆盖一个名为 _createRequestIds 的函数,该函数在 1.9 中显然不存在。我还尝试将修复程序中的代码放入我的 1.9 处理器中,Enterprise_PageCache_Model_Processor但由于某种原因我无法获取当前主题名称。

那么 - 有没有办法在 1.9 上使用具有多个主题/设计例外的 FPC?

或者,任何人都可以破解 1.9 Enterprise_PageCache_Model_Processor,在缓存之前将当前主题名称添加到 URI 字符串中吗?

Magento支持团队提供了一个补丁,SUP-2028_EE_1.9.0.0_v7.patch,它通过将设计例外作为缓存ID的一部分来修复1.9的问题。