5.2 System und Cache sauber leeren

In der Beschreibung zum 5.2 Plugin System finde ich nichts über das Leeren vom Cache und wie ich das Frontend Template zum Kompilieren auffordere. Im bisherigen System hab ich das so gemacht:

return [‚success‘ => true, ‚invalidateCache‘ => [‚template‘, ‚theme‘]];

Welche Möglichkeiten bzw. Befehl gibt es bei 5.2 ?

 

$context->scheduleClearCache(InstallContext::CACHE_LIST_DEFAULT);

 Die Liste der verfügbaren Konstanten ist hier zu finden:  https://github.com/shopware/shopware/blob/5.3/engine/Shopware/Components/Plugin/Context/InstallContext.php#L31

Ja das hatte ich, aber da wurde leider nicht neu kompiliert.

Hast du CACHE_LIST_FRONTEND oder CACHE_LIST_ALL verwendet? In CACHE_LIST_DEFAULT ist das Theme nicht dabei

Ah, vermutlich wegen CACHE_LIST_DEFAULT … ich teste mal ALL

Ne, auch wenn ich CACHE_LIST_ALL nehme wird nicht neu kompiliert. Vielleicht der Cache gelöscht, aber das wars wohl auch.

Getestet hab ich dies so: Im Plugin die Less-Datei umgeschrieben und beim Plugin ein Re-Install gemacht. Bei install() ist CACHE_LIST_ALL eingetragen. Da die Änderungen in der Less im Frontend nicht ankommen sind, muss ich also davon ausgehen, dass ein Kompilieren vom Theme nicht stattgefunden hat. Zumal sich hier auch nicht das Fenster hierfür öffnet.

Versuch doch die activate() Methode zu überschreiben. Etwa so:

public function activate(ActivateContext $context)
{
    $context->scheduleClearCache(InstallContext::CACHE_LIST_ALL);
}

 

1 „Gefällt mir“

Oha, ja damit geht’s :slight_smile: