Hallo,
nachdem ich mein TYPO3 Testsystem auf von 4.3 auf 4.4 hochgezogen habe, funktioniert mein grafisches Layermenü nicht mehr. Ich poste absichtlich (erst mal) kein Typoscript, denn es handelt sich vermutlich um ein generelles Problem, ich hab' das HTML Template und das typoscript zum Testen bis auf's Menü ausgeräumt und verschiedene als funktionierend bekannte konfigurationen von TMENU_LAYERS / GMENU_LAYERS ausprobiert, immer der gleiche Effekt: Ebene 1 und 2 funktionieren, sobald eine dritte Ebene ins Spiel kommt:
- funktioniert das komplette Menü nicht mehr bei Definition der 3. Ebene als GMENU_LAYER mit z.B. 3 < .2
oder:
- die Elemente der 3. Ebene verhalten sich bei Definition mit GMENU / TMENU chaotisch: manche schließen nicht, manche öffnen am falschen Ort, andere widerum werden korrekt angezeigt
DB-Konvertierung auf UTF-8 hab' ich gemacht, OS: Debian
Kommt das Problem irgendjemandem bekannt vor??? Ich wäre euch sehr dankbar für einen Tipp.
Axel
Hallo,
das von axl. festgestellte Verhalten habe ich ebenfalls nach einer Aktualisierung von 4.4.3 auf Version 4.4.5 festgestellt. Zuvor war mein TMENU-Layer-Menü noch in Ordnung. Ich nehme mal an, dass bei den JS etwas nicht stimmt.
Firefox zeigt folgenden JS-Fehler an:
Fehler: GLV_menuXY[WMid][id] is undefined
Quelldatei: http://xxxx.xx/
Zeile 386 - Fehlerhafte Funktion:
function GL0116aa_doTop(WMid,id) {
var parentObject = GL_getObj(GLV_menuXY[WMid][id][2]);
var TI_width = parentObject.width;
var TI_height = parentObject.height;
var anchorObj = GL_getObj(GLV_menuXY[WMid][id][3]);
var TI_x = anchorObj.x;
var TI_y = anchorObj.y;
GLV_menuOn["0116aa"].left = (GLV_curLayerX["d49f67"]+TI_x+TI_width+0)+"px";
GLV_menuOn["0116aa"].top = (GLV_curLayerY["d49f67"]+TI_y+0)+"px";
}
Keine Ahnung, wie der Fehler zustande kommt, da im Zuge des Updates am Typoscript nichts verändert wurde. Da ich aber kein Spezi bin, kann ich leider nicht sagen, wie man den Fehler beheben kann. Insofern werde ich wohl auf ein Update warten müssen.
Gruß Nils
Update: Auch die heute veröffentlichte Version 4.4.6 beseitigt den Fehler leider nicht.
Hallo,
habe ein ähnliches Problem.
Nach einem Update von 4.4.4 auf 4.4.6 funktioniert mein Layer Menü nicht mehr korrekt. Die Ebenen 2 und 3 bleiben stehen.
Habe darauf hin habe ich mal das entsprechende JS geprüft.
(typo3/sysext/cms/tslib/media/scripts/jsfunc.layermenu.js)
Hier wurde im Rahmen des Updates keinerlei Änderung vorgenommen. Daran kann es also nicht liegen.
Erstaunlich finde ich auch, das es dazu im Bug Tracker keine Einträge gibt. Das Problem müsste doch 1000fach auftauchen.
Wer hat den entscheidenden Tipp?
Gruß connor
Dieser Änderung am TYPO3 Core dürfte für den Fehler verantwortlich sein:
http://bugs.typo3.org/view.php?id=12376
Ich habe das Problem in einer alten 4.2.x TYPO3 Installation jetzt erstmal dadurch behoben, dass ich in
typo3/sysext/cms/tslib/media/scripts/gmenu_layers.php in Zeile 117
$this->WMid = trim($this->mconf['layer_menu_id']) ? trim($this->mconf['layer_menu_id']) . 'x' : substr(md5('gl' . serialize($this->mconf)), 0, 6);
durch das Original
$this->WMid = trim($this->mconf['layer_menu_id'])?trim($this->mconf['layer_menu_id']).'x':substr(md5(microtime()),0,6); // NO '_' (underscore) in the ID!!! NN4 breaks!
ersetzt habe.
Das bringt allerdings das Problem mit den vielen JavaScript Dateien in typo3temp zurück (siehe Bug Report). Das ist für mich grad aber das geringere Übel 😉
Gruß
Peter
Hallo Peter,
vielen Dank für den Tip, nach Austausch der betreffenden Codezeile funktioniert auch mein GMENU wieder (derzeit T3 4.4.6).
Da der Bug zumindest erst einmal eingekreist und ein Workaround vorhanden ist, setzte ich den Thread auf "gelöst".
Gruß
Axel