.ENV "prod" Theme Twig Template ist eine gecachte Version nach Migration, nur .ENV "dev" zeigt aktuellen Inhalt

als Follow-Up zu Migration / Live-Stellung: Db-Kopie und Datei-Upload aber Medien sind anders verlinkt - #2 von via

hatten wir das Problem dass nach der Migration der Header aus unserem Twig Template Override zwar angezeigt wurde, aber nicht der Footer und auch nicht die Topbar (die den Sprachwechsler enthält) im Header angezeigt wurde.
Auch Änderungen an unserer overriding Datei kommen nicht an.

Wenn wir in der .ENV allerdings auf „dev“ stellen, kommt alles so im Webbrowser an wie in den overriding Templates hinterlegt.
Stellen wir zurück, fehlt wieder „die Hälfte“.

Daher: .ENV „prod“ scheint einen Template cache zu nutzen. Wie können wir diesen aktualisieren? assets:install, theme:compile und cache:clear haben nicht geholfen.

Liebe Grüße

cache:clear sollte ausreichen, um Änderungen in twig zu sehen. Für Änderungen im CSS ist theme:compile notwendig.

Wenn sich dann nichts ändert, dann habt ihr vermutlich ein Problem mit dem Cache, dass da irgendetwas nicht korrekt läuft.

hmm, können wir den Cache manuell leeren durch Leeren einer Tabelle und/oder Löschen eines Ordner-Inhalts?

Wenn der Cache geleert ist, wird beim Zugriff auf eine Seite, die durch das Twig Template definiert wird, das Twig Template angefordert oder müssen wir vorher noch sowas wie ein assets:install durchführen?

Wir haben übrigens Zugriffsrechte und Besitzer der App Dateien schon geprüft und hier nichts unpassendes erkannt.

Ohne nachgesehen zu haben, assets:install kopiert lediglich die assets vom Plugin in den bundle(s) Ordner. Das dürfte mit dem Cache nichts zu tun haben.

Zum löschen des Cache: Quick and easy solution to the Shopware 6 cache growing indefinitely - Shopwarian.com

Danke. Wir haben gerade den Befehl rm -r -f /usr/www/users/someuser/sw6/var/cache/* angepasst auf unser System ausgeführt doch leider hat dies nicht geholfen. Ein paar Ordner, die cache:clear nicht gelöscht hat, sind gelöscht worden, ein anderer wurde sofort wieder neu erstellt aber im Frontend trotz Browser Cache leeren fehlt weiterhin „die Hälfte“ im „prod-Modus“.

Dann werden im Theme eventuell Funktionen genutzt, die im prod nicht verfügbar sind und dadurch das Theme zum „Absturz“ bringen. Wobei, dann sollte eigentlich ein 500er Fehler geworfen werden.

Im spezifischen wird das komplette Footer Twig Template ignoriert und aus dem Header Template wird der Topbar Pfad ignoriert:

shopware/custom/apps/UNSER-THEME/Resources/views/storefront/layout/footer/footer.html.twig

            <div class="top-bar-nav-via">
                {% block layout_top_bar %}
                    {% sw_include '@Storefront/storefront/layout/header/top-bar.html.twig' %}
                {% endblock %}
            </div>

Vielen Dank aber für deine Hilfen!

Mein Theme ist im Ordner plugins, nicht in apps.

Leider habe ich mit apps noch nicht wirklich etwas gemacht um beurteilen zu können, was für Auswirkungen das auf den Cache hat.

Mal unter https://developer.shopware.com den Abschnitt über Apps nachgelesen? Vielleicht steht da ja etwas zum Cache.

Ja, dort haben wir nachgelesen, ich suche dort aber nochmal.

Edit:
Ich habe Cache - Shopware Developer gefunden und eine twig.yaml erstellt (mit Inhalt:

# config/packages/twig.yaml
twig:
    cache: '/var/www/vhosts/UNSER-HOST/shopware/public/twigcache'

) und den Ordner twigcache erstellt aber dies hat nichts geholfen, der Ordner wird gar nicht befüllt.
Edit Ende.

Ich glaube, wir haben ein Theme als App genutzt, weil wir das evtl. in Shopware Cloud nutzen wollten, wo laut der Doku keine Plugins unterstützt werden.

Danke.

Noch eine Ergänzung:

wir stellten gerade fest, dass dieses Problem auch lokal im prod-Modus auftritt. Wir können dann z.B. das HTML im header.html.twig löschen, so das in unseren App Dateien kein Header Code mehr ist, aber im Frontend wird weiterhin das alte „halbe“ HTML im Header ausgegeben. Der Prod-Modus scheint also eine Art Cache zu haben.

Und tatsächlich liegt im var/cache Ordner ein dev_HASH und prod_HASH Ordner.

Das Hauptproblem ist wohl, dass im Prod-Modus die Twig-Template anders und dann falsch ausgewertet werden. Insbesondere ist seltsam, dass bei dem Beispiel oben auch unser eigener Container um die Topbar im HTML, das im Browser ankommt, fehlt, aber andere eigene Container von uns im Header Template im Browser ankommen.