[英]Magento - full page cache causes design exceptions (multiple themes) to not work correctly
[英]Magento full page cache & design exceptions
我們為移動設備設計了一個例外,它加載了不同的JS,布局,CSS和圖像文件。
隨着FPC關閉,它完美地工作。 但是,當它打開時,每個人都會獲得常規站點(沒有例外)。
我認為這是由於head.phtml
被緩存。
從FPC中排除head.phtml的方式去哪里? 或者還有其他什么在起作用?
如果它是先前的,那么最好的方法是什么? 使用cache.xml
創建自定義模塊,並模擬Enterprise/PageCache
cache.xml?
這是Magento EE 1.11。
如果可以避免,請不要繞過任何塊的緩存。 它將改善您在日志運行中的用戶體驗。 但是,有幾種方法可以解決這個問題。
我在這里寫了一篇關於在每個控制器的基礎上禁用緩存的博文。 您可能暫時使用相同的方法,除非使用不同的“if”條件。
我在哪里檢查:
if ($action instanceof <controller_class_name>) {
您可以輕松使用:
if ($user_is_mobile == true) {
這樣做只會讓您的移動用戶在此期間工作。 實際上,答案不是禁用或繞過緩存,而是使用相同的方法來監聽頁面請求並為移動和非移動請求分配不同的布局句柄。 然后,每個布局句柄將相應地緩存。
了解如何在布局更新中使用句柄。 從記憶中它是這樣的:
Mage::app()->getLayout()->getUpdate()->addHandle("mobile");
然后在page.xml中添加一個名為mobile的新節點,如下所示
<mobile>
<reference name="root">
<remove name="mainHead" />
<block type="core/template" name="mobileHead" />
</reference>
</mobile>
或類似的規定。 這是瘋狂的未經測試,但我希望你能得到這個想法。
否則,您可以根據屏幕分辨率使用響應式CSS。
似乎FPC僅在包級別上使用1.11中的設計異常。 在FPC上設置主題級別的異常將不會令人遺憾:(你有沒有找到解決方案?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.