Ich leere nach der Aktivierung alle Caches mit CACHE_LIST_ALL.
Trotzdem greift mein Hook nicht. Erst wenn ich im Plugin einmal „neuinstallieren“ wähle, greift er.
public function activate(ActivateContext $context){
$context->scheduleClearCache(ActivateContext::CACHE_LIST_DEFAULT);
return true;
}
public function install(InstallContext $context)
{
$context->scheduleClearCache(InstallContext::CACHE_LIST_DEFAULT);
return true;
}
public function uninstall(UninstallContext $context){
$context->scheduleClearCache(UninstallContext::CACHE_LIST_DEFAULT);
return true;
}
public function update(UpdateContext $context){
$context->scheduleClearCache(UpdateContext::CACHE_LIST_DEFAULT);
return true;
}
im Text schreibst du zwar, du nutzt CACHE_LIST_ALL, aber in deinem Beispiel Code nicht. Was denn nun? Normalerweise sollte es ausreichen den Cache komplett zu leeren.
da hast du recht, ich hatte allerdings beides getestet und beides hatte nicht den gewünschten Effekt.
Ich habe es nun durch viel probieren hinbekommen, indem man so vorgeht:
public function activate(ActivateContext $context){
// force clear Shopware Proxies
$cacheManager = Shopware()->Container()->get('shopware.cache_manager');
$cacheManager->clearProxyCache();
$context->scheduleClearCache(ActivateContext::CACHE_LIST_DEFAULT);
return true;
}
Erst wenn man den Cache doppelt leert, generiert sich die Datei sauber neu mit neuem array in der getHookMethods(). Die neuinstallation triggert irgendwie wohl dieses doppelte Cache leeren. Mein Versuch den Cache zu leeren einmal im install und einmal im activate funktioniert hingehen nicht.
Für mich riecht das nach einem Bug, aber ich kann es nicht belegen.
der Cache Tag CACHE_TAG_PROXY ist eigentlich Teil der CACHE_LIST_DEFAULT. Daher sollte ein eigener Aufruf des CacheManagers nicht nötig sein. Falls das so nicht von alleine funktioniert, erstelle mal bitte dazu ein Ticket. Am besten mit Beispiel Plugin, damit wir das möglichst einfach nachvollziehen können.
[@Michael Telgmann](http://forum.shopware.com/profile/17553/Michael Telgmann “Michael Telgmann”) habe ich dir angelegt. Man kann leider keine zip hochladen. Hab euch daher das Testplugin ein ein Drive geladen. Wenn das nicht geht schreib mir bitte mal kurz privat. Wäre cool, wenn du dazu mal kurz Feedback hast, ob es ein Bug ist oder wir zu blöd