Hallo.
Ich möchte ein vertikales Menu auf der linken Seite bauen, das aus drei Ebenen besteht.
Die Ebenen 1 und 2 sind GMENUs die 3. Ebene soll als Layer versetzt rechts daneben erscheinen.
Das funktioniert soweit auch ganz prächtig. Jetzt kommt wieder das Problem mit der Positionierung:
Der Layer soll
a) nicht mit der Maus mitgehen, auch nicht von der Klick-Position abhängig sein.
b) auch bei verschiedenen Bildschirmauflösungen an einem bestimmten Ort erscheinen (die Seite ist insgesamt zentriert)
c) Nicht direkt rechts neben dem Menüpunkt auftauchen, sondern weiter oben, quasi bündig mit dem "Parentmenü".
Die einzige Möglichkeit, die ich sehe, ist der "relativeToTriggerItem" Befehl, da die anderen Möglichkeiten entweder vom Klick oder von der Bildschirmauflösung abhängig sind.
Bei "relativeToTriggerItem" kann ich jedoch die Oberkante des Menüs nicht genau definieren, da jeder Menüpunkt eine andere yPos hat.
"topOffset" bei "relativeToTrigger" funktioniert auch nicht.
Eine elegante Lösung wären Variablen, also wenn die Menüs bei y=150 anfangen, quasi:
relativeToTriggerItem.addHeight = (150-yPos) - geht aber so nicht.
(oder umgekehrt mit directionUp Befehl - geht auch nicht).
Weiß jemand, wie ich solche Variablen in TypoScript setzen kann ?
Eine andere Möglichkeit wäre die Ausgabe der dritten Menüebene bei MouseOver auf einem seperaten Marker. Das wäre bei mir möglich - aber geht das ?
Der folgene Codeschnipsel bietet nichts aussergewöhnliches, aber vielleicht hilft er:
(...)
####HAUPTMENU EBENE 2 LAYER####
marks.HAUPTMENU.2 = GMENU_LAYERS
marks.HAUPTMENU.2 {
layerStyle = position:absolute; VISIBILITY:hidden;
####Positionierung###
dontFollowMouse = 1
relativeToTriggerItem = 1
relativeToTriggerItem.addHeight = 0
relativeToTriggerItem.addWidth = 1
hideMenuWhenNotOver = 1
hideMenuTimer = 60
freezeMouseover = 1
expAll = 1
####Design###
NO {
...
}
}
Vielleicht hat ja jemand eine Idee.
Danke.