Änderungen im Quellcode- Cache Handling

Hallo,

warum werden Änderungen im Quellcode mal schnell mal gar nicht geändert.
Aktuell habe ich mit Google Quellcode das Problem, dass dieser zwar übertragen aber im Browser nicht sichtbar ist. Und ja, tmp wurde mehrfach geleert auch Browser Cache.

Ein Test hat wunderbar funktioniert, seltsamer Weise, wird dieser auch noch angezeigt.

Im meinem Fall betrifft es header.tpl, dort wurde ein Script zwischen head und head platziert.

Was ist das Problem? Grüße aus Berlin

Es gibt so viele mögliche Gründe, wie Nena Luftballons hat.
Z.B. menschliche Ursachen:

  • falsche Datei bearbeitet,
  • Upload nicht abgewartet
  • Änderugen gar nicht hochgeladen
  • fehlende Fachwissen und/oder Verständnis für Zusammenhänge

Oder technische Ursachen, wie

  • irgendein Reverse Proxy beim Hoster
  • Cache im Shop nicht geleert oder nicht den richtigen Cache geleert (es gibt mehrere, u.a. session, shop cache im tmp/, memcache, ee cache).

Und dann gibts da noch den Shadow DOM, den man im Browser normalerweise nicht sieht, da wären wir aber eigentlich wieder beim fehlenden Fachwissen.

Dein oberer Abschnitt, bis auf fehlendes Fachwissen (nicht jeder weiß alles) kann ausgeschlossen werden. Cache im Shop wurde komplett geleert und Shadow DOM hatte ich während meiner Ausbildung nicht auf der Agenda. Ist vermutlich aber auch schon zu lange her.
Wie auch immer, evtl. weiß mein Hoster mehr.

einige Hoster setzen nginx als reverse caching proxy.
Öffne mal Dev Tools im Browser, wechsele in den Netzwerk Tab und ruf den Shop auf, dann schau mal beim allerersten Eintrag, ob dort beim “Response Header” irgendwas mit nginx steht, ggf “server: nginx”, dann hat der Hoster ein Proxy.

D.h. es gibt 2 Shops (Test und Live (?)). Beim Test geht’s und beim Live nicht? Themeeinstellungen sind dieselben? Dann kann’s eigentlich nur ein, wie oben erwähnt, vorgeschalteter Cache sein, der Dateianpassungen verzögert anzeigt.

Also der Hoster hat sich soeben geäußert:

"die einzige Sache, die das unsererseits beeinflussen könnte, wäre der OPCache in den Servereinstellungen. OPCache ist dort aber nicht aktiv.

Daher habe ich auch mal eine einfache html Datei hochgeladen und im Browser aufgerufen. Danach habe ich den Text verändert, die Änderung gespeichert und konnte die Text-Änderung auch direkt beim Neuladen im Browser sehen. Scheint also ein Problem innerhalb von Oxid zu sein."

Damit sollte er Recht haben, hatte es zuvor ebenfalls bei anderen Projekten von mir getestet.

Es steht auch nichts über nginx im Network Tab.

@rubbercut nein es gibt nur einen Shop, ergo der Test hat funktioniert und steht auch noch immer drin, hätte ich gleich den richtigen Code genommen, wäre es vermutlich kein Problem.

Also irgendwie stehe ich im Wald!!! Was kann ich noch machen?

kurzer Nachtrag, ich hatte das früher schon mal bei tpl Dateien, irgendwann funktionierte es dann aber ohne mein zutun. Gibt es ein spezielles Handling bei diesen Dateien?

PHP Caching mit einer HTML Datei zu testen ist eventuell nicht exakt zielführend.

Beim veränderten Templates muss man prinzipiell source/tmp/smarty/ Ordner leeren, es gibt allerdings Template Blöcke, die durch Module überschrieben werden können. Wenn deine Änderungen alle innerhalb eines Blocks sind, welches dann durch ein Modul ersetzt wird, dann wird man deine Änderungen nicht sehen. Da hilft nur noch das Modul zu deaktivieren oder umzuschreiben.

Naja, dann hätte der Test aber nicht funktionieren dürfen.

Hab gerade mal den Produktivmodus aktiviert und tmp geleert, siehe da, der Test ist weg, allerdings ist der neue Code nicht da!

Im Grunde geht es um was ganz einfaches, Google will mit einem Script nur überprüfen, ob ich der Inhaber der Seite bin, dieses habe ich in header.tpl im Block layout_header_top eingefügt, evtl. lässt das ja Rückschlüsse zu.

ich kenne einen lustigen Shop, wo man den Cache immer 2 mal leeren muss.
Für Google kannst du doch auch eine Textdatei hochladen, meine ich.

Nein die Textdatei gilt nur für Identifizierung als Inhaber einer Seite, quasi für die erste Registrierung, bei AdSense läuft das anders, da muss der Code im head Bereich. Und den Cache habe ich schon mehrfach geleert, per Modul und direkt im Ordner, hilft alles nichts. :frowning:

Binde deinen Code mal in der base.tpl nach dem öffnenden <head> ein.

Danke teste ich gleich mal, bin gerade mit dem Hoster noch im Gespräch, jetzt steht auf einmal wieder mein alter Test Quellcode drin.

Hat leider auch nicht funktioniert. :frowning:

Ok Problem gefunden! Es lag schlichtweg an ein zusätzliches Theme, natürlich muss ich dort die Änderungen vornehmen. :slight_smile:

und damit wären wir beim allerersten Punkt :smiley: