2013-05-09 63 views
0

我的網站大量使用清漆緩存,並設置爲每5分鐘刷新一次。我發現這是歪曲產品視圖統計數據,使他們比他們實際應該少。如何覆蓋Magento產品視圖日誌記錄

  1. 我想,這樣被記錄沒有產品的看法,關閉Magentos默認產品視圖記錄工具。

  2. 我想要做自定義插入到相關的表即tf_report_viewed_product_index

插入到單獨tf_report_viewed_product_index表模仿行爲是不允許的,因爲它已經foriegn鍵約束。還有更多。

回答

0

這不是一個Magento問題,這是一個用戶請求深入你的Web應用程序(Magento)問題。使用Varnish實現的速度和負載處理的好處正是因爲預先生成的靜態內容在來自Magento的動態生成內容(其中還包括將流量記錄到report_*log_*表的內存的開銷和資源)之前緩存並提供服務。

我在這方面沒有太多經驗,但我相信你應該使用varnishcsa來記錄緩存命中,然後通過cron使用Magento Report模塊的建模來處理它們;請參閱Mage_Reports_Model_Event_Observer::catalogProductView()以獲取啓動信息,但請注意,此方法通常會處理單個視圖的日誌記錄。您可能需要對已處理的清漆日誌數據進行批量插入,然後進行計算。

And,here's a link SO post on setting up logging with varnishcsa

+0

謝謝benmarks這是一個體面的解決方案的問題。我已經開始研究我將在下面分享的解決方案。 – user2244725 2013-05-09 13:38:24

1

如果有人遇到這個,你可以使用XML來禁用事件:

<frontend> 
     <events> 
      <catalog_controller_product_view> 
       <observers> 
        <reports> 
         <type>disabled</type> 
        </reports> 
       </observers> 
      </catalog_controller_product_view>  
     </events> 
    </frontend> 

然後使用Ajax調用從產品視圖頁面我簡單地插入新行tf_report_viewed_product_index表。