Neu Eigenes Plugin und der cache..

bhoernchen

Aktives Mitglied
25. Mai 2023
22
2
Ich habe das Template der Produktdaten durch eine Plugin-Funktion in die (Details.tpl) erweitert.
{Plugin\xxx_Produkte\xxx_xxxxxxHersteller::testPluginCache()}

Nun würde ich die Ausgabe gerne cachen, da das System dies scheinbar nicht von selbst macht. Ich habe jedoch ein Problem mit der Aktualisierung des Artikels, wenn der Shop über den Connector neue Daten von der WaWi (Warenwirtschaft) erhält.

Ich kann über den Tag CACHING_GROUP_OPTION dem Cache mitteilen, dass dieser Cache die Artikel für folgende Produkte enthält: 'product_id_' . $productId und 'product_number_' . $productNumber. Das funktioniert soweit.
$instance->cache->set($cacheID, $artikelHTML, [CACHING_GROUP_OPTION, $instance->getArtikelCacheTag()]);

Allerdings weiß ich nicht, wie und wo ich den Cache nach einem Update des Produktes von der WaWi löschen muss. Das Konzept verstehe ich noch nicht ganz (Anfänger). Da ich mir die Tags im Grunde selbst ausgedacht habe, müsste ich wahrscheinlich eine Funktion schreiben, um den Cache zu invalidieren. Oder es gibt vielleicht feste Tags, die ich verwenden könnte. Es wäre auch über einen Hook machbar, aber ich kenne keinen geeigneten Hook dafür.

Es gibt viele Möglichkeiten, aber ich sehe noch keinen klaren Ansatz, wie ich das umsetzen kann.
 
Zuletzt bearbeitet:

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.369
347
Halle (Saale)
Wenn du möchtest, dass ein Cache-Eintrag bei Änderungen an einem bestimmten Artikel automatisch invalidiert wird, solltest du diesem die zwei Tags
CACHING_GROUP_ARTICLE und CACHING_GROUP_ARTICLE . "_" . $kArtikel
(mit $kArtikel = die ID des jeweiligen Produkts) zuweisen.
 
  • Gefällt mir
Reaktionen: bhoernchen

bhoernchen

Aktives Mitglied
25. Mai 2023
22
2
Ja habe ich dann auch gemerkt.. Hatte nur die das System mit den Constanten nicht so 100 % verstanden.. Inzwischen läuft es.. Habe das im Sourcetext dann irgendwo gefunden und einfach übernommen..
 

Ähnliche Themen