2012-12-23 112 views
0

在Magento CE 1.4.1.1中,我已經將塊緩存添加到產品視圖頁面。所以前端產品頁面會在第一次訪問後被緩存,到目前爲止非常好。Magento刷新塊緩存

但是,我發現即使有人購買了該產品,塊緩存也不會被刷新。這不好,因爲在前端,產品頁面會顯示錯誤的庫存/庫存信息,一旦產品頁面被緩存,也無法顯示警報消息。 (看起來像產品塊緩存只在我將產品保存在後端管理員時刷新)

1)任何專家都可以顯示如何刷新特定產品的塊緩存? 2)沿同一行,如果我想緩存類別頁面,因爲我使用ajax分層導航(和ajax分頁,ajax排序順序),如何在上面的區域添加排除緩存條件?

感謝

回答

0

這是很難說如何做到這一點,沒有看到你的代碼,並瞭解你的頁面緩存是如何實現的,但可能的解決方案是創建一個觀察者,將清除緩存的所有產品訂購

在/app/code/local/MageIgniter/ClearProductCache/etc/config.xml

.... 
    <events> 
     <sales_order_place_after> 
      <observers> 
       <clearproductcache> 
        <type>singleton</type> 
        <class>clearproductcache/observer</class> 
        <method>implementClearProductCache</method> 
       </clearproductcache> 
      </observers> 
     </sales_order_place_after> 
.... 

在/app/code/local/MageIgniter/ClearProductCache/Model/Observer.php

<?php 
class MageIgniter_ClearProductCache_Model_Observer 
{ 
    public function implementClearProductCache($event) 
    { 

     $_order = $event->getOrder(); 

     foreach ($_order->getAllItems() as $item) { 
      //call function to clear cahced 
      //$item->getId(); 
     } 


     return $this; 
    } 

請參閱Implementing observer Magento