Kompletten Shop Cache leeren und Template Kompelieren Plugin

Hallo,

 

ich würde gern ein Plugin erstellen das es ermöglicht die Selbe Funktion wie bei Performance -> Cahces / Performance -> Cache auszuführen jedoch will ich diesen Button oben im Menü haben um nicht jedes mal dort hin zu navigieren und alle auszuwählen und dann den Cache zu leeren.

Ich habe das soweit schon hinbekommen in dem ich einen neuen menüeintrag per menu.xml erstellt habe. Auch der eigene Controler ist soweit schon vorhanden und leert auch den Cache. Was mir jetzt noch fehlt ist das die Ladeanimation nicht weg geht (am liebsten wäre mir eh das garkeine kommt sondern einfach wenn er fertig ist so wie bei Performance -> Cache leeren nur eine Schwarze meldung kommt) und das er mir der Theme Compiler Dialog nicht angezeigt.

Das ist im moment der Controller

cacheManager = $this->get('shopware.cache_manager');
    }

    public function indexAction()
    {
        $this->cacheManager->clearConfigCache();
        $this->cacheManager->clearSearchCache();
        $this->cacheManager->clearRewriteCache();
        $this->cacheManager->clearTemplateCache();
        $this->cacheManager->clearHttpCache();
        $this->cacheManager->clearHttpCache();
        $this->cacheManager->clearProxyCache();
        $this->cacheManager->clearOpCache();

        $this->View()->assign([
            'success' => true,
        ]);
    }
}

die app.js ist bis dato nur angelegt und leer da smarty diese Datei haben wollte im view

hoffe mir kann hier jemand weiter helfen ich komm hier einfach nicht weiter.

 

Edit:

Habe alles lösen können :wink:

hier die Lösung in der app.js

//{namespace name=backend/performance/main}

//{block name="backend/vierp_clear_cache/application"}
Ext.define('Shopware.apps.VierpClearCache', {

    extend: 'Enlight.app.SubApplication',

    /**
     * The name of the module. Used for internal purpose
     * @string
     */
    name:'Shopware.apps.VierpClearCache',

    infoTitle: '{s name=direct/message_title}Shop cache{/s}',

    infoMessages: {
        'Clear': '{s name=direct/messages/config}Shop cache has been cleared{/s}',
        'NoPermission': '{s name=direct/messages/no_permission}You do not have the permission to clear the shop cache{/s}'
    },

    /**
     * This method will be called when all dependencies are solved and
     * all member controllers, models, views and stores are initialized.
     */
    launch: function() {
        var me = this;

        /*{if !{acl_is_allowed privilege=clear}}*/
        Shopware.Notification.createGrowlMessage(
            me.infoTitle,
            me.infoMessages.NoPermission,
            me.infoTitle
        );
        /*{else}*/
        Ext.Ajax.request({
            url: '{url controller=VierpClearCache action=index}',
            success: function() {
                Shopware.Notification.createGrowlMessage(
                    me.infoTitle,
                    me.infoMessages['Clear'],
                    me.infoTitle
                );

                Shopware.app.Application.fireEvent('shopware-theme-cache-warm-up-request');
            }
        });
        /*{/if}*/
    }
});
//{/block}

 

1 Like