Wie beim neuen Plugin-System das Theme kompilieren lassen?

Wie oben schon geschrieben ist mir aufgefallen, dass ich bei meinen Plugins nicht mehr nach einem Update kompilieren lassen kann.

Wir haben auch schon versucht in den Funktions-Dateien schlauer zu werden, kommen aber auf keine funktionierende Lösung.

Bisher löse ich die Cache-Reinigung so:

$em = $this->container->get('models');
$em->persist($component);
$em->flush();

$context->scheduleClearCache(array('invalidateCache' => ['backend','template', 'theme']));

Wie kann ich nun noch ausgeben, dass er das Theme kompilieren soll?

In einigen Plugins mache ich das so:

$cacheManager = Shopware()->Container()->get('shopware.cache_manager');
$cacheManager->clearHttpCache();
$cacheManager->clearTemplateCache();

oder bei der jeweiligen Funktion:

return array('success' => true, 'invalidateCache' => array('config', 'backend', 'proxy', 'frontend'));

 

1 „Gefällt mir“

Danke. Ich teste das mal bei mir und gebe dir dann Bescheid.

 

Vielen Dank für die schnelle Reaktion.

Nachtrag: Beim ersten Beispiel geht das automatisch, beim zweiten geht wohl das Popup-Fenster dazu auf.

@R4M schrieb:

In einigen Plugins mache ich das so:

$cacheManager = Shopware()->Container()->get(‚shopware.cache_manager‘);
$cacheManager->clearHttpCache();
$cacheManager->clearTemplateCache();

oder bei der jeweiligen Funktion:

return array(‚success‘ => true, ‚invalidateCache‘ => array(‚config‘, ‚backend‘, ‚proxy‘, ‚frontend‘));

 

Sorry, stehe hier auf dem Schlauch, wo kommen diese Snippets hin? Danke!

Geert

Nach den ausführenden Funktionen. Also beispielsweise nach dem installieren, aktivieren, updaten oder deinstallieren des Plugins.

@R4M hab es leider noch nicht geschafft :confused: Ich danke dir trotzdem tausendfach für die überaus schnell Reaktion.

@benjaminbergau schrieb:

Nach den ausführenden Funktionen. Also beispielsweise nach dem installieren, aktivieren, updaten oder deinstallieren des Plugins.

Ungefähr so?

    public function activate(ActivateContext $context)
    {
        return ['success' => true, 'invalidateCache' => ['config', 'backend', 'proxy', 'frontend']];
    }

 

Sorry, dass ich noch nicht geantwortet habe, aber bin hier nicht ständig im Forum.

Probier mal unter “function install” oder “function update” aus - falls im Plugin vorhanden. 

1 „Gefällt mir“