Wie kann ich verhindern, dass Terpentin meinen "Header" -Block zwischenspeichert und nur den Seitencache verwendet?

magento.stackexchange https://magento.stackexchange.com//questions/79734

  •  13-12-2019
  •  | 
  •  

Frage

In meinem header.phtml, Ich habe ein Titelseiten-spezifisches HTML (H1 tag) unter $this->getIsHomePage() Bedingung.Ich brauche das H1 nur auf der Titelseite erscheinen.

Das Problem ist:unter Terpentin ist dies H1 tag erscheint auf jeder Seite.Ich glaube, das liegt daran, dass Terpentin den Block für die gesamte Site zwischenspeichert.

Standardmäßig, turpentine_esi.xml hat die folgende Konfiguration für header Block:

    <!--
    A default Magento site includes a logged in user's name in the welcome
    message and the number of items in the shopping cart so it must be
    cached per-client.
    -->
    <reference name="header">
        <action method="setEsiOptions">
            <params>
                <access>private</access>
                <flush_events>
                    <wishlist_item_save_after/>
                    <wishlist_item_delete_after/>
                    <sales_quote_save_after/>
                </flush_events>
            </params>
        </action>
    </reference>

Ich habe die Anmeldeinformationen nicht in der Header-Vorlage, daher glaube ich, dass ich die einfach löschen kann header blockieren Sie die Konfiguration (oder überschreiben Sie sie in local.xml).

Die Lösung, die ich mir vorstellen kann, ist:nicht zwischenspeichern header blockieren Sie Terpentin überhaupt, cachen Sie es im ganzseitigen HTML-Code zwischen.Also habe ich dieses Stück entfernt turpentine_esi.xml.

Problem ist:der H1-Block wird weiterhin auf allen Seiten gerendert.

Ich habe Varnish, php5-fpm neu gestartet und Magentos physisch gelöscht var/cache, gelöschte Blöcke, ESI-Blöcke und Seiten-HTML-Cache im Admin...und ich sehe immer noch die falsche Version der Header-Vorlage mit H1 auf jeder Seite.

Auf eine andere Weise habe ich versucht, das zu ändern header caching-Optionen zu public - das hat auch nicht geholfen:

    <reference name="header">
        <action method="setEsiOptions">
            <params>
                <access>public</access>
            </params>
        </action>
    </reference>

Ich benutze Magento 1.9.0.1.

War es hilfreich?

Lösung

Am Ende musste ich das überschreiben (entfernen) header blockieren von turpentine_esi.xml in app/design/frontend/base/default/layout/local.xml.Mein local.xml:

<?xml version="1.0"?>
<layout version="0.1.0">
    <default>
        <reference name="header">
            <action method="setEsiOptions">
            </action>
        </reference>

        <!-- We at Tahta.com.ua only need to cache the cart block. -->
        <reference name="top_cart_block">
            <action method="setEsiOptions">
                <params>
                    <access>private</access>
                    <flush_events>
                        <wishlist_item_save_after/>
                        <wishlist_item_delete_after/>
                        <sales_quote_save_after/>
                    </flush_events>
                </params>
            </action>
        </reference>

    </default>
</layout>

Andere Tipps

<reference name="header">
 <action method="setEsiOptions">
    <params>
        <access>private</access>
    </params>
 </action>
</reference>

Bitte verweisen Sie auch auf diesen Link https://rajeshganjeer.wordpress.com/2014/05/28/varnish-with-magento-terpentine/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top