カスタムモジュールなしで全ページキャッシュをホールパンチする方法


18

全ページキャッシュはセッションに基づいているようです。クロムでシークレットウィンドウを開いてページの1つにアクセスすると、キャッシュが温められ、2番目のページの読み込みがはるかに速くなりますが、そのウィンドウを閉じて新しいシークレットウィンドウを開くと、ページはもう全ページキャッシュ、再度ウォームアップする必要があります。これは、ユーザーにカートの内容を表示するサイドバーが原因であると考えています。

そのhtmlを新しいphtmlファイルに移動し、レイアウトxmlブロックを二乗して、今、cache.xmlファイルで作業しています...

cache.xmlで見つかったすべての例はモジュールを参照していますが、レイアウトxmlブロックにモジュールを使用せず、コア/テンプレートを使用しました...

モジュールやモデルを必要としないxmlのキャッシュブロックに誰かが光を当てる可能性はありますか?


Magento Enterpriseのフルページキャッシュを使用していますか、それともVarnishなどのサードパーティツールを使用していますか?カートが表示されている場合、ページはキャッシュキーの一部としてセッションを使用します。シークレットモードでは、閉じるとすべてのCookieが削除されるため、ページを再度開いた後に新しいセッションを取得できます。パンチアウトには問題があります。ファブリツィオがそれに優れた記事があります。fabrizio-branca.de/...
ティム・レイノルズ

tweetorials.tumblr.com/post/10160075026/…が役立つ場合があります。
B00MER

回答:


6

cache.xmlを含むモジュールを持たずにEnterprise Editionでプレースホルダーを作成する方法はありません。cache.xmlはプレースホルダー定義のホームになります。したがって、ページキャッシュ全体にカスタムホールを作成する必要がある場合は、モジュールを作成して定義する必要があります。

組み込みのサイドバーカートブロックには、すぐに使えるプレースホルダーがあります。そのプレースホルダーは、ユーザーセッションに基づいてキャッシュされたコンテンツをタグ付けします。ページのメインコンテンツは、他のユーザーから温められたキャッシュからロードされます。ユーザーごとに埋められ、生成される必要があるのは、この「ホール」のみです。また、ユーザーのカートのコンテンツが変更されると、このホールのコンテンツが再生成されてキャッシュされることに注意してください。

上記は、それが実際にあなたが参照しているEnterprise Edition FPCおよびホールパンチングであり、ワニスのようなものではないと仮定していることに注意してください。Varnishを(適切な構成で)使用している場合、Magentoへの最初のアクセス時にキャッシュからページを提供しません。これは、最初のアクセス時に、ユーザーのリクエストをMagentoに渡して、アプリケーションがセッションを生成できるようにする必要があるためです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.