Hallo, ich habe noch meine Probleme mit dem Cache bei Themes: Man darf ja nichts mehr auf dem Server an Cache-Dateien löschen, und man darf auch nicht über die REST API löschen, sagt Gambio. Jetzt hatte ich gerade wieder einen Fall: Eine Smarty-Überladung aus GXModules entfernt => Shop natürlich kaputt, weiße Seite. Dann wollte ich den Cache aufrufen im Admin => Geht nicht, weil Shop kaputt ist. Weiße Seite. Um den Shop jetzt wieder erreichbar zu machen, habe ich jetzt die gelöschte Datei aus GXModules wieder hochgeladen. Aber sie soll ja weg. Wie kann man Theme-Smarty-Overloads dauerhaft entfernen, ohne dass der Shop dadurch kaputtgeht? VG
Dass das Frontend nicht lädt bedeutet nicht, dass das Backend nicht mehr funktionieren würde. Hat man eine gültige Session, kann man durch URL Eingabe die Adminstartseite oder Cache Seite direkt aufrufen. Die Cacheseite einfach mal in einem Tab offen lassen schadet auch nicht unbedingt. Hat man keine gültige Sitzung, kann man einen über die login_admin.php erzeugen. Das Rendering der Seite, dass dann üblicherweise fehlschlägt, kommt erst nach dem erzeugen der Sitzung.
Wer sagt, dass man auf dem Server im Ordner /cache/ manuell keine Dateien mehr löschen darf? Du kannst immer noch Cache-Dateien manuell leeren, indem du die .pdc Dateien aus dem Ordner /cache/ löscht. Man darf bloß keine anderen Datein oder Ordner löschen.
Hallo, ich hatte ja eine gültige Session, bin auch in den Admin gekommen, auch auf die Cache-Seite, aber beim Leeren des Seitencache war die Seite weiß und das Leeren nicht ausgeführt. Ich konnte das Problem isolieren und reproduzieren: Wenn man einen Smarty-Overload löscht aus GXModules, dann ist der Shop ja immer erstmal kaputt (weiße Seite). Wenn ich dann den Seitencache leere, kommt das Problem. Das ist dann nur behebbar indem man die Datei wieder hochlädt oder wenn man vor dem Seitencache einmal den Modulcache leert. Ticket 101155708
Smarty Überladungen stehen tatsächlich nicht nur im Seitencache, sondern auch im GXModules Cache, der mit dem Modulcache ausgeleert wird. Die Dinger werden im Gegensatz zu Themeanpassungen teilweise auch im Backend geladen, dass dann auch kaputt gehen kann. Da ist ja was weg, was angemeldet ist... Das ist kein Shopbug insich, sondern erwartbares Verhalten. Der GXModules Cache lebt aber im /cache/ Ordner, so dass man den durch leeren der Dateien im cache Ordner zu einem Neuaufbau zwingen kann.... Der Themecache ist wieder was anderes. Es ist einfach saugefährlich allgemein und unspezifisch von "der Cache" zu reden, wir haben eine ganze Sammlung verschiedener an verschiedenen Orten, mit verschiedenen Aufgaben, Aufbauten und Eingriffen.
Wenn ich Änderungen am Template vorgenommen habe, brachte es nie was, den Ordner cache zu leeren. Dafür musste man immer an templates_c. Das ging früher auch, ist aber mit Themes offenbar verboten: (Link nur für registrierte Nutzer sichtbar.)
Aber wollt ihr dafür nicht ein Warnung oder Anleitung im Admin hinterlegen? Weil wer das nicht weiß oder nicht beachtet oder keine Sicherheitskopie der gelöschten Datei hat, der landet hier in einer Sackgasse und hat einen temporären Ausfall und löst ein Notfall-Ticket beim Support. Oder das irgendwie abfangen: "Leere bitte zunächst den Modul-Cache, bevor du den Seitencache leerst". Oder vielleicht die Reihenfolge der Buttons ändern, so dass derjenige der von oben nach unten vorgeht, immer zuerst den Modulcache leert. Oder einen Button "Alle caches leeren" statt alle einzeln aufrufbar zu machen?
Dann macht doch mal ein Cache-Tutorial? Oder benennt da was um? Ich muss ja nicht wissen, was wo wie funktioniert, aber es wäre schön wenn man sich nicht seinen eigenen Shop lahmlegt durch "erwartbares Verhalten"?
Zur Information: Ab GX 4.5 wird der Shop in der Lage sein bei nicht mehr existierenden Dateien zu gelöschten Overloads den Cache sofort zu erneuern, so dass es gar nicht zu einem Fehler kommt. Das hilft jetzt nicht konkret weiter, ist aber ein schöner Ausblick auf die Zukunft.
Es ist doch schon immer so, dass man den Cache von unten nach oben lädt. Ich lade z.B. immer erst den Cache für Module und danach den der Seite. Egal was ich mache. Und das steht auch bestimmt schon 100 Mal im Forum. (Ich weiß wie oft ich das geschrieben habe )
Wenn ich jetzt einen einstündigen Monolog in ein Video spreche, welche Caches es gibt, was sie bewirken, wie die Querabhängigkeiten sind, wie die zugrundeliegenden Techniken in den Frameworks funktionieren, wie wir die verbinden, wie die Technologien funktionieren... ich wär mir sicher du bist danach genauso weit wie vorher. Am besten ist daher man erklärt die allgemeinen, in 90% zutreffenden Schritte. Damit ist den meisten Leuten geholfen. This. die Buttons für den Modulcache, dann den Seitencache, ist in 90% der Fälle die korrekte Antwort. Nicht Dateien löschen, nicht magische URLs aufrufen, nicht externe Scripte, sondern schlicht die beiden Buttons. Sonderfall man entwickelt selbst oder tut so (das heisst: man fügt Overloads, Klassen, etc dem Shop hinzu bzw löscht die manuell irgendwo in den Strukturen), dann kann es mehr brauchen. Idealerweise hat man dann ein Tab auf der Cache Seite des Backends offen, schon ist man in 90% der Fälle safe.
Wie wäre es, der Beschriftung des Modulcache-Buttons eine "Schritt 1" und dem Seitencache eine "Schritt 2" voranzustellen. Nicht für mich, sondern für die anderen 25.000 Shopbetreiber? Bzw. 24.999 ? Weil Barbara weiß das ja auch schon ;-)
Weil das nicht immer nötig ist. Wenn man normale Themefummeleien macht, genügt Schritt 2, also der obere Button. Warum macht man dann nicht einen Button draus, das würde doch das Risiko vermeiden oder? Weil das bei grossen Shops zu minutenlangen, unnötigen Stillständen führen kann, während der Prozess läuft. Die sollten das einzeln, nach Bedarf, tun können.
Und, hast du mit angestrengtem Überlegen eine Idee, wie man das umgehen kann? Beispielsweise durch einen zusätzlichen Button und / oder Expertenmodus o.ä.?
Das ist nett von dir Barbara, dass du so hilfsbereit bist. Die Tatsache, dass du es schon 100x schreiben musstest, sagt eigentlich alles zur Situation. Und mein Fallbespiel (Gambio-User seit fast 10 Jahren und sich dieser Information nicht bewusst) sagt auch alles. Umso unverständlicher, dass Wilken da nicht sagt: "Hey, danke, guter Hinweis, da überlegen wir uns mal was Schlaues zu". Ich bin dann bei diesem Thema mal raus, so wie bei einigen anderen Gambio-Baustellen, die mir zu irrational diskutiert werden.
Jetzt ist bei uns der Shop ganz kaputt. Je nachdem ob man gerade den Cache geleert hat und nach Laune gibt es eine weiße Seite im Frontend mit Fehler 500, oder mal die Seite als Nur-HTML ohne jegliches Design, oder irgendwelche CSS Unlink Errors. Vermutlich ist der SE4 abgeschmiert und hat das Theme dabei kaputtgemacht Ich musste jetzt erstmal wieder auf Honeygrid Template zurückswitchen. Gut dass das noch geht. Hätte wohl vorher eine Sicherheitskopie des Theme speichern sollen.
Und dann ändert einer etwas an den Texten - wie ist jetzt die Reihenfolge? nee, nee, ich schreibe das immer wenn es darum geht, dass der Cache geleert werden werden muss. also z.B.: Lade die Datei XY in Dein GXModules-Verzeichnis und leere danach im Admin den Cache für Module und Seiten. Meistens noch mit einem "in dieser Reihenfolge" oder "von unten nach oben" Das ist natürlich übel, Es kann aber sein, dass sich da nur etwas aufgehängt hat, weil der ohne Speichern geschlossen wurde (oder sich geschlossen hat)
Das kann schiefgehen, hier Punkt 2. Der Shop wird sich in vielen Fällen automatisch darum kümmern die Theme und Fontcaches wieder aufzubauen, aber das ist nicht in absolut jedem Fall safe. Schritt 2 kann also dazu führen, dass der Shop danach tot ist, bis man einen geregelten Cache Neuaufbau per geeigneter Funktion des Shops (Button...) auslöst. Nein, da hatte noch keiner von uns eine Idee von der wir glauben die macht da was substantiell besser. Man kann nicht ohne Caches, dann wäre alles zu lahm. Man kann Caches nicht dauernd automatisch leeren, dann wirds zu lahm. Man kann nicht alle Knöpfe entfernen, dann gibts keine Werkzeugbox mehr. Ein Knopf für alle Caches funktioniert auch nicht, das würde so einige Shops killen, vor allem grössere. Man muss auch nicht immer alles klicken, oft reicht weniger als alle Buttons zu klicken, runter bis zu einem oder zwei Knöpfen. Das Problem ist wahrscheinlich die Einfachheit. Es soll ja nicht komplizierter sein als nötig. Viele Leute basteln gar nicht an ihren Codestrukturen, die sehen nie mehr als den oberen Knopf und sind damit grün. Und dann kommen die Fummler, die grundsätzlich willig sind überall im Code mal was zu überladen, zu löschen und einzufügen, die dann in besondere Härten laufen. Vollblutentwickler wissen sich dabei normal zu helfen und haben ne grobe Idee der Abläufe, "Hobbyisten" im selben Dunstkreis schwimmen. Die letztere Gruppe trifft wahrscheinlich auf dich zu und du willst auch einen einfachen unfehlbaren, immer gültigen Weg für dich, das ist nicht einfach. Wir haben nix schlaues aktuell und keine einfache Vision wie man das praktischer machen kann.