Ich habe diesen Code in local.xml hinzugefügt
<default>
<reference name="footer">
<action method="unsetData"><key>cache_lifetime</key></action>
<action method="unsetData"><key>cache_tags</key></action>
</reference>
</default>
Aber es hat nicht funktioniert. Wie kann ich den Cache footer.phtml
programmgesteuert aktualisieren?
magento-1
footer
block-cache
Sanjana
quelle
quelle
Antworten:
Sanjana, Sie können dies auf zwei Arten tun:
Deaktivieren mit
getChildHtml()
Laut Magento
getChildHtml()
können Sie den Cache verwenden, indem Sie den zweiten Parameter senden:Stellen Sie
$useCache
für diesen Block beim Aufruf$this->getChildHtml('footer')
:$this->getChildHtml('footer', false)
in1column.phtml
2columns-left.phtml
2columns-left.phtml
und3columns.phtml
Das sind Root-Vorlagendateien.
Indem Sie die Cache-Lebensdauer auf null setzen
layout.xml
und einen Helfer erstellenVerwenden wir einen einfachen Helfer:
Klasse My_Module_Helper_Data erweitert Mage_Core_Helper_Abstract {
}}
Und setzen Sie den Wert in Layout-XML wie folgt:
Vielen Dank an Fabrizio Branca
quelle
public function getCacheLifetime() { return null; }
Zum Fußzeilenblock hinzufügen . Dies ist nur dann eine gute Option, wenn Sie bereits eine lokale Überschreibung haben. Wenn Sie dies nicht tun, wählen Sie eine dieser beiden anderen Optionen.Das Problem, mit dem Sie konfrontiert sind, ist das gleiche, das Fabrizio hier erklärt:
http://fbrnc.net/blog/2015/06/cache-and-layout-xml-tricks
Um seinen Blog-Beitrag zu paraphrasieren: Wenn Sie die Cache-Lebensdauer in der XML-Datei festlegen, werden alle Werte, die Sie an den Knoten übergeben
<action method="setCacheLifetime">
, ausgewertettrue
. Selbst wenn Sie bestehennull
, wird das in a umgewandeltstring
, und dasstring
wird seintrue
. Sie müssen lediglich eine Hilfsklasse erstellen, die den Wert null im Knoten festlegen kann.Erstellen Sie ein leeres Modul und fügen Sie Ihre Konfigurationsdatei hinzu:
Erstellen Sie dann Ihre Hilfsklasse:
Sobald Sie überprüft haben, ob das Modul korrekt auf Ihrer Site geladen wurde, können Sie die erforderliche XML-Datei hinzufügen, um die Fußzeile aus dem Cache zu entfernen:
Um zu überprüfen, ob die Fußzeile tatsächlich nicht zwischengespeichert wird, nehmen Sie ein anderes Tool von Fabrizio:
https://github.com/AOEpeople/Aoe_TemplateHints
Auf diese Weise können Sie in Farbe sehen, welche Blöcke zwischengespeichert werden, sowie eine Reihe weiterer nützlicher Informationen zum Inhalt Ihrer Website.
quelle
Der letzte Schritt muss möglicherweise geändert werden:
quelle
Arbeiten
null
über Helfer einstellenkein Argument übergeben
Verwenden Sie JSON-Daten
Funktioniert nicht:
null
als Zeichenfolge festlegenleerer Wert
Quelle: http://fbrnc.net/blog/2015/06/cache-and-layout-xml-tricks
quelle