Zum Inhalt springen

TMENU-LAYER klappt nicht mehr zu

Erstellt am 18. Juni 2009 · Noch keine Antworten

Tags: Frage

thomasu ·

2010
Um es kurz zu machen, es lag an dem Auslagern der JS-Dateien. Ist das ausgeschaltet, sammeln sich zwar Unmengen von Javascript Dateien auf dem server an aber das Layermenu schliesst nun beim Verlassend er Maus wieder.

Bis zur Version 4.3

Bei der gibt es nun einen anderen Störfaktor. Und zwar Realurl. Ist das aktiv klappt das Menü nicht mehr zu. Ist es deaktiviert klappt es wieder zu.
Ich habe nicht mal eine Vermutung woran das liegen kann, denn ich nahm an, dass das Layer Menu ausschließlich über Javascript schließt und Realurl verwendet wohl kein Javascript.

Kennt Jemand das Problem und kann mir weiterhelfen?

Gruß
ThomasU

-----

2009

Layermenu klappt nicht mehr zu

Hallo,

seit Tagen durchforste ich das Internet nach der Frage wie ich es schaffe, dass das TMENU_LAYER wieder schliesst, sobald ich es mit der Maus verlasse.

Zunächst habe ich die Zeilen in mein Typoscript geschrieben:

page.includeLibs.tmenu_layers = media/scripts/tmenu_layers.php

expAll = 1
hideMenuWhenNotOver = 20
hideMenuTimer = 100

als ich mit den verschiedenen Werten nicht weiter kam, suchte ich nach anderen Ursachen.

Ich fand einen Tipp, der erklärte, dass der Aufruf im body
<body onload="T3_onloadWrapper();">
zu Problemen kommt, wenn dort mehrere Anweisungen vorhanden sind.
Bei mir ist nur dieser Befehl im body vorhanden.

Das merkwürdige ist nun, dass ich mit gleichem Typoscript eine andere Seite habe, wo das Schließen des TMENU_LAYERS funktioniert.

So habe ich mir den erzeugten HTML-Code genauer angesehen.
Bei der Version, bei der es funktioniert, ist mir aufgefallen, dass dort im Header nicht nur

<script type="text/javascript" src="typo3/sysext/cms/tslib/media/scripts/jsfunc.layermenu.js"></script>

sondern auch noch

<script type="text/javascript" src="typo3temp/javascript_011a390146.js"></script>

Diese, vermutlich temporäre Datei habe ich mir nun etwas genauer angesehen:

var browserName=navigator.appName;var browserVer=parseInt(navigator.appVersion);                                var version="";var msie4=(browserName=="Microsoft Internet Explorer"&&browserVer                                >=4);if((browserName=="Netscape"&&browserVer>=3)||msie4||browserName=="Konqueror                                "||browserName=="Opera"){version="n3";}else{version="n2";}
function blurLink(theObject){if(msie4){theObject.blur();}}
function T3_onmousemoveWrapper(e){GL_getMouse(e);GLb6287f_getMouse(e);}
function T3_onmouseupWrapper(e){GL_mouseUp('b6287f',e);}
function T3_onloadWrapper(e){GL_initLayers();GL_restoreMenu("b6287f");}
document.onmousemove=T3_onmousemoveWrapper;document.onmouseup=T3_onmouseupWrappe                                r;document.onload=T3_onloadWrapper;

So habe ich erstmals die Funktion T3_onloadWrapper() gefunden, die ja im body der HTML Datei aufgerufen werden soll.

Ich gehe nun davon aus, dass mein TMENU_LAYER nicht funktioniert, weil die Funktion T3_onloadWrapper() nirgends definiert ist, weil ja der Aufruf der 2. Javascript Datei, auch wenn es nur eine temporäre Datei ist, gänzlich fehlt.

An diesem Stand bin ich angekommen und finde keinen Hinweis darauf, was zu tun ist.

Meine Vermutung war, dass Typo3 keine Schreibrechte im Verzeichnis typo3temp besitzt. Das habe ich überprüft und mit chown -R www-data:web0 noch einmal die Zugehörigkeiten entsprechend gesetzt.

Ich habe jetzt weiter ausgeholt, weil ich denke, schon ziemlich weit gekommen zu sein und mir Antworten, die ich in den Foren wiederholend gefunden habe, nicht weiterhelfen.

Jetzt kann ich nur hoffen, dass sich hier jemand findet, der mir sagen kann, wie diese Datei gebildet wird, bzw. was ich tun kann damit mein Menü endlich ZUklappt.

Vorab vielen Dank
Gruß Thomas