[TYPO3-german] GMENU Problem

Volker Golbig typo3 at machwert.de
Wed Jun 6 20:27:25 CEST 2007


Super Lösung - hätte nicht gedacht, dass es allein per TypoScript zu 
lösen ist.

Viele Grüße
Volker

JoH asenau schrieb:
>>> Nun, ich weiß leider nicht, wo's bei Dir hakt, denn dieser Code hier:
>>>
>>> [snip]
>>>
>>> Produziert dieses Ergebnis: http://www.4any1.de/index.php?id=287
>>>
>>> Wie Du siehst, ist das alles ziemlich OK und die Breiten verhalten
>>> sich genau wie gewünscht.
>> vorab: 1000 Dank. Hätte ich den entryLevel richtig gesetzt hätte ich
>> mir einiges sparen können.
>> Wie es aber immer ist kommt nach der Lösung des einen das nächste
>> Problem. Wie stelle ich es jetzt an, dass die horizontale Hauptnavi
>> und nur die vertikale Subnavi des aktuellen Hauptnavipunktes sichtbar
>> ist?
> 
> Das geht logischerweise nur über CSS, weil die Grafiken ja in jedem Fall
> alle generiert werden müssen, damit die Breiten feststellbar sind. Das Menü
> ist also vollständig im HTML Code zu sehen, wird aber über display:none;
> teilweise ausgeschaltet.
> 
> Weil das nur für die zweite Ebene gelten soll, brauchst Du ein Register, das
> nur mit uids der ersten Ebene gefüllt wird. Damit wird im Zustand NO per if
> Abfrage alles ausgeschaltet, das nicht auf der ersten Ebene liegt. Beim
> zustand ACT wird für die Unterpunkte des aktiven punktes das display:none;
> wieder rausgeschmissen.
> 
> Du kannst stattdessen selbstverständlich auch eine CSS Klasse verwenden und
> diese z.B. mit Hilfe von JavaScript schon onmouseover verändern. Damit wäre
> sogar ein Layer-Menü denkbar wenn Du die uid in die class mit einbaust.
> 
> Hier nochmal komplett
> 
> lib.navigation2 = HMENU
> lib.navigation2 {
>   1 = TMENU
>   1 {
>     wrap = <table><tr>|</tr></table>
>     NO = 1
>     NO {
>       doNotLinkIt = 1
>       stdWrap.cObject = HMENU
>       stdWrap.cObject {
>         special = list
>         special.value.cObject = COA
>         special.value.cObject {
>           # hier das register
>           # für die erste ebene
>           5 = LOAD_REGISTER
>           5.level1Uid.field = uid
>           10 = TEXT
>           10.field = uid
>           20 = HMENU
>           20 {
>             special = directory
>             special.value.field = uid
>             1 = TMENU
>             1 {
>               NO {
>                 doNotLinkIt = 1
>                 stdWrap.field = uid
>                 stdWrap.wrap = ,|
>               }
>             }
>           }
>         }
>         1 = GMENU
>         1 {
>           wrap = <td valign="top"><table>|</table></td>
>           useLargestItemX = 1
>           useLargestItemY = 1
>           NO {
>             allWrap.cObject = COA
>             allWrap.cObject {
>               10 = TEXT
>               10 {
>                 # für alle Seiten
>                 # der ersten Ebene
>                 value = <tr><td>|</td></tr>
>                 if {
>                   value.data = register:level1Uid
>                   equals.field = uid
>                 }
>               }
>               20 = TEXT
>               20 {
>                 # für alle Seiten
>                 # der zweiten Ebene
>                 value = <tr style="display:none;"><td>|</td></tr>
>                 if {
>                   value.data = register:level1Uid
>                   equals.field = uid
>                   negate = 1
>                 }
>               }
>             }
>             XY = [10.w]+20,30
>             backColor = #990000
>             10 = TEXT
>             10 {
>               text.field = title
>               fontSize = 20
>               fontColor = #FFFFFF
>               offset = 10,22
>               niceText = 1
>             }
>           }
>         }
>       }
>     }
>     ACT < .NO
>     ACT {
>       stdWrap.cObject.1.NO.allWrap.cObject {
>         10 {
>           # Abfrage ausschalten
>           # damit wrap für alle Ebenen
>           # im aktiven Zweig gleich ist
>           if >
>         }
>         # zweiten wrap deaktivieren
>         20 >
>       }
>     }
>   }
> }
> 
> Sollte so klappen.
> 
> Joey
> 


More information about the TYPO3-german mailing list