2012-01-25 4 views
0

Magento Enterprise 1.8を使用しており、すべてのキャッシュオプションがページキャッシュを含めて有効になっています。Magento Enterprise NO_CACHE cookie

基本的な機能を備えた基本モジュールを作成しました。

私のコントローラは、そう、私のブロックは、一言で言えば

class MyModule_Customizer_Block_Draft extends Mage_Catalog_Block_Product_View 
{ 
    public function getItems() 
    { 
      //random functionality 
      return $items; 
    } 
} 

でこのように私はそれが値1を持つNO_CACHEクッキーを作成するページにアクセスするたびに見える一言で言えば

class MyModule_Customizer_DraftController extends Mage_Core_Controller_Front_Action 
{ 
    public function viewAction(){ 
      //random functionality to display layout, title, meta tags 
    } 
} 

で次のようになりますカテゴリランディングページや製品ビューページのように後で別のページにアクセスするとキャッシュされなくなります。 NO_CACHEのCookieが作成されないようにするにはどうすればよいですか?

追加情報が必要な場合はお知らせください。

答えて

0

レイアウトからブロックexternal.pagecache.cookieを削除する必要があります。

これを達成するにはいくつかの方法があります。

私はあなたのモジュールのセットアップにカスタムレイアウトファイルをお勧めしますし、適切なハンドルでブロックを削除したい:

<layout> 
    <customizer_draft_view> 
     <remove name="external.pagecache.cookie" /> 
    </customizer_draft_view> 
</layout> 

あなたはまたに<default>レイアウトハンドルを延長することにより、完全にをクッキーブロックを削除することができますあなたのレイアウト.xmlファイルの1:

<layout> 
    <default> 
     <remove name="external.pagecache.cookie" /> 
    </default> 
</layout> 

が、これはまた、あなたが望むものを、おそらくではありません<catalog_product_view>レイアウトハンドル用のブロックを削除することを、注意してください。 app/design/frontend/base/default/layout/pagecache.xmlを参照してください:

<layout version="0.1.0"> 
    <catalog_product_view> 
     <reference name="content"> 
      <block type="core/template" name="external.pagecache.cookie" template="pagecache/cookie.phtml"/> 
     </reference> 
    </catalog_product_view> 
</layout> 
+0

これらの推奨ソリューションは、Magento Enterprise 1.9および1.10では動作しますが、1.8では動作しません。しかし、Magento EE 1.8には似たようなものがありますが、私はこの質問をする前に私のテーマやレイアウトから削除しました。まだNO_CACHEクッキーを生成しています。 – Aboodred1