Hallo,
versuche mich nun schon 2 Tage an einem Update von 4.1.5 auf 4.2.0.
Nach dem Update habe ich aber immer wieder 2 Probleme (zumindestens sind das die, die mir auffallen): Die Funktion "Clear Cache" funktioniert gar nicht und es wird kein rtehtmlarea geladen.
Ich habe mich mal ein wenig durch den Quellcode gewühlt und, was die Funktion "Clear Cache" angeht, zumindestens herausgefunden, das dazu das Javascriptfile "clearcachemenu.js" geladen sein müsste. Genau das fehlt aber komischerweise, wenn ich mir mal den Quelltext des Backends im Browser anschaue. Füge ich diese Datei in der "backend.php" von Typo3 manuell hinzu, wird sie geladen und die Funktion steht mir zur Verfügung.
Für mich sieht das so aus, als wenn nicht alle benötigten Javabestandteile des Backends aktiviert werden. Daher funktioniert so einiges nicht.
Andere Javascript abhängige Funktionen hingegen funktionieren anstandslos.
Woran kann das liegen? Hab ich beim durchforsten der Dokus etwas übersehen?
Darkside
Guten Morgen.
Ich habe mal etwas weiter geforscht und hab hier ein paar Infos an die Coder und Kenner unter Euch, in der Hoffnung, das dies auch hilft.
Soweit ich es verstehe, wird für das Backend ein Objekt in der backend.php erzeugt.
Dieses Objekt beherbergt die Variable "$jsFiles". Das Backendobjekt generiert wiederum u.a. ein Objekt für die ClearCacheMenu Funktion welches das Backend-Objekt als Referenz übergeben bekommt. Über diese Referenz versucht nun das ClearChacheMenu Objekt das Javafile in die $jsFiles eintragen zu lassen.
Ich habe mir mal an allen möglichen Stellen den Inhalt dieses Arrays jsFiles ausgeben lassen. So sieht es bei mir aus:
Ausgabe des Arrays in Funktion "renderToolbar" des Backend-Objektes VOR dem Ausführen der Funktion "render" des ClearCacheMenu Objektes: Defaultwerte die im Objekt definiert werden.
Ausgabe des Arrays in Funktion "addJavascriptFile" des Backend-Objektes VOR dem Hinzufügen des Files zur jsFiles: Defaultwerte die im Objekt definiert werden.
Ausgabe des Arrays in Funktion "addJavascriptFile" des Backend-Objektes NACH dem Hinzufügen des Files zur jsFiles: Defaultwerte zuzüglich dem eben angegeben File.
Ausgabe des Arrays in Funktion "renderToolbar" des Backend-Objektes NACH dem Ausführen der Funktion "render" des ClearCacheMenu Objektes: nur Defaultwerte die im Objekt definiert werden. Das zuvor durch das ClearCacheObjekt hinzugefügte File ist nicht mehr im Array enthalten.
Das ist mit allen Toolbar-Objekten so.
Das ist komisch. Klingt für mich, als wenn das ClearCacheMenu-Objekt keine Referenz sondern eine Kopie des Backend-Objektes bekommt. Wenn ich mir aber als Laie den Quellcode anschaue, scheint alles richtig zu sein ... womal sicher schon etliche Nutzer diese Version im Einsatz haben und es nicht am typo3 4.2 direkt liegen kann.
Aber was könnte (evtl. an den PHP Einstellungen) dazu führen, das ein solches Verhalten auftritt?
Darkside
So schnell kann es gehen,
während ich meinen letzten Eintrag so schreibe kam ich auf die Idee mir mal die php.ini anzuschauen. Auf gut Glück habe ich gleich den Eintrag "zend.ze1_compatibility_mode = On" auf "zend.ze1_compatibility_mode = Off" gestellt ... und siehe da, alles funktioniert nun.
Was ich mich nun aber frage: Warum habe ich damals diese Funktion eingeschaltet? Naja, das ist jetzt aber ein anderes Problem.
Schöner Monolog hier 🙂
Also ich hatte da auch merkwürdige Probleme.
Damit der rtehtmlarea wieder richtig lief, musste ich:
1. Meinen Browser-Cache löschen
2. Reload der Seite. Danach ging auch wieder das neue Cache-Löschen-Menü
3. Im Erweiterungsmanager die Erweiterung rtehtmlarea einmal aufrufen, die gebräuchlichste Konfig wieder auswählen und speichern
4. Dann habe ich noch alle Dateien in typo3temp gelöscht.
Dann ging wieder alles.