HTTP-Cache und Bootstrap

Hallo liebe Shopware Gemeinde,

 

ich bräuchte Hilfe.

Aktuell ist es so:

Ich habe eine Bootstrap, in der eine Form aufgerufen wird, wo nichts weiter gemacht wird, als die Header Hintergrundfarbe zu ändern, was auch super klappt.

 

Jetzt zu einem großen Problem:

Habe ich den HTTP-Cache aktiviert (Produktionsmodus), wird die Hintergrundfarbe im Frontend nicht geändert - egal wie oft ich die Bootstrap speicher.

Leere ich den HTTP-Proxy Cache, dann wird die Änderung im Frontend angezeigt.

Ich hätte aber gerne das meine Bootstrap vom HTTP-Cache ausgeschlossen wird!

Es gibt zwar einige Lösungsansätze, doch die funktionieren nicht, bzw. sind nicht das was ich möchte. Wie z.B.:

 $this-\>cacheManager-\>clearHttpCache();

oder

in der getInfo

‚esi‘ => true,

eintragen.

 

Es wäre wirklich super, wenn mir dabei jemand helfen könnte.

Vielen Dank im vorraus.

Mir wird aus dem von Dir beschriebenen nicht so ganz die Anforderung klar. Du hast für Dein Plugin ein Formular, über das Du dann im Backend eine Farbe bestimmen kannst? Und diesen Farbcode gibst Du dann über das Smarty Template aus?

Hallo hhmarco73,

korrekt!

Dieses alleine steht in der Bootstrap:

$form->setElement(‘color’, ‘meinefarbe’, array(
            ‘label’ => ‘Headerfarbe’,
            ‘value’ => ‘x’,
                        ‘scope’ => Shopware\Models\Config\Element::SCOPE_SHOP
        )
        );

 

natürlich sind die anderen Funktionen wie update, enable, etc. vorhanden.

Ich übergebe die Farbe in einem Post Dispatch an die view und somit an meine .tpl

Das klappt alles einwandfrei!

Nur, wenn der HTTP-Cache an ist - der Shop im Produktionsmodus ist- ,kann ich jede beliebige Farbe in meiner Pluginkonfiguration einstellen.

Diese wird aber erst übernommen, wenn ich den http-proxy cache leere  oder den Shop in den Bearbeitungsmodus setze.

Somit wird die Bootstrap mit der eingestellten Farbe mitgecacht, was ich gerne verhindern möchte.

Im Prinzip geht es nur darum:

Gibt es eine einfache Möglichkeit die Bootstrap vom HTTP-Cache auszuschließen???

Deine Anfrage macht leider keinen Sinn.

Der HTTP-Cache ist ein Full-Page Cache, d.h. die Seite wird so wie sie ist im Cache abgelegt. Wenn du nun nicht willst, dass die Farbe gecached wird, musst du dann den kompletten Bereich in dem du die Farbe änderst im Theme vom HTTP-Cache ausnehmen. Das hat nichts mit der Bootstrap zu tun. In der Dokumentation ist erklärt wie du Bereiche vom Cache ausschließen kannst: Shopware HTTP cache
Nicht die Bootstrap wird gecached, sondern die Darstellung der Seite.

Dennoch verstehe ich deinen Anwendungsfall nicht. Willst du mehrfach täglich während der Cache aufgebaut ist, die Farbe ändern? 

Hmm, in die Bootstrap des jeweiligen Plugins und Position:

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