[TYPO3-german] Ab bestimmter Ebene Menü immer einblenden

Andreas B. ab at web157.webgo24-server11.de
Mon Jun 9 12:24:29 CEST 2008


Markus Deckmann schrieb:
> Hi Andreas,
> 
>> Hallo Markus, das Listing der HMENUS wäre hilfreich.
> 
> Hier ist das Listing des Hauptmenüs:
> 
> #######################
> ### MAIN-Navigation ###
> #######################
> temp.mainnav = HMENU
> temp.mainnav.special = directory
> temp.mainnav.special.value = 1
> 
> # First level menu-object, textual
> temp.mainnav.1 = TMENU
> temp.mainnav.1.expAll = 1
> temp.mainnav.1 {
> 	NO.allWrap = <div id='MENU' class="MENU_NO"> | </div>
> 	ACT = 1
> 	ACT.allWrap = <div id='MENU' class="MENU_ACT"> | </div>
> }
> 
> Und hier das Listing des Sub-Menüs inkl. der 1 Unterebene der jeweiligen 
> Menüpunkte:
> 
> ##########################
> #### SECOND-Navigation ###
> ##########################
> temp.secnav = HMENU
> temp.secnav.special = directory
> 
> ## First level menu-object, textual
> temp.secnav.1 = TMENU
> temp.secnav.1.expAll = 1
> temp.secnav.1 {
> 	NO.allWrap = <div id='SUBMENU' class="SUBMENU_NO"><div 
> class='SUBMENU_COLORBOX_NO'> </div> <div class='SUBMENU_ELEMENT_NO'> | 
> </div> </div>
> 	ACT = 1
> 	ACT.allWrap = <div id='SUBMENU' class="SUBMENU_ACT"><div 
> class='SUBMENU_COLORBOX_NO'> </div> <div class='SUBMENU_ELEMENT_NO'> | 
> </div> </div>
> }
> 
> ## Second level menu-object, textual
> temp.secnav.2 = TMENU
> temp.secnav.2.expAll = 1
> temp.secnav.2 {
> 	NO.allWrap = <div id='SUBMENU_E2' class="SUBMENU_E2_NO"><div 
> class='SUBMENU_E2_COLORBOX_NO'> </div> <div 
> class='SUBMENU_E2_ELEMENT_NO'> | </div> </div>
> 	ACT = 1
> 	ACT.allWrap = <div id='SUBMENU_E2' class="SUBMENU_E2_ACT"><div 
> class='SUBMENU_E2_COLORBOX_ACT'> </div> <div 
> class='SUBMENU_E2_ELEMENT_ACT'> | </div> </div>
> }
> 
> Ich hoffe das hilft weiter...
> 
> Ciao Markus

Hallo Markus,

1. organisiere deine Seiten im BE so:
punkt1
--punkt1.1
----punkt1.1.1
----punkt1.1.2
--punkt1.2
----punkt1.2.1
----punkt1.2.2
punkt2
--punkt2.1
--punkt2.2

2. schmeiß das raus: temp.mainnav.1.expAll = 1, denn das willst du doch nicht.

3. definiere den Einstiegs-Level beim 2. Menü, temp.secnav.entryLevel = 1 und schmeiß special raus.

Meine Test dafür sah wie folgt aus und hat funktioniert:

# Default PAGE object:
page = PAGE
page.10 = TEXT
page.10.value = HELLO WORLD!

#######################
### MAIN-Navigation ###
#######################
temp.mainnav = HMENU
temp.mainnav.special = directory
temp.mainnav.special.value = 382

# First level menu-object, textual
temp.mainnav.1 = TMENU
temp.mainnav.1.expAll = 0
temp.mainnav.1 {
   NO.allWrap = <div style="border:solid 1px red"> | </div>
   ACT = 1
   ACT.allWrap = <div style="border:solid 1px red;background:silver"> | </div>
}
page.20 < temp.mainnav

##########################
#### SECOND-Navigation ###
##########################
temp.secnav = HMENU
temp.secnav.entryLevel = 1

## First level menu-object, textual
temp.secnav.1 = TMENU
temp.secnav.1.expAll = 1
temp.secnav.1 {
   NO.allWrap = <div style="border:solid 1px green"> | </div>
   ACT = 1
   ACT.allWrap = <div style="border:solid 1px green;background:yellow"> | </div>
}

## Second level menu-object, textual
temp.secnav.2 = TMENU
temp.secnav.2.expAll = 1
temp.secnav.2 {
   NO.allWrap = <div style="border:solid 1px blue"> | </div>
   ACT = 1
   ACT.allWrap = <div style="border:solid 1px blue;background:olive"> | </div>
}

page.30 < temp.secnav

Noch ein Tip: das mit den wraps kannst du geschickter machen indem du die einzelnen Menüs erstmal 
komplett in einen DIV packst und dann nur noch einzelne Klassen zuweist. Ich zeig dir mal ein 
Beispiel von mir. (die Menüs werden im Template in einen DIV gepackt):

   1 {
     NO = 1
     NO.stdWrap.htmlSpecialChars = 1
     NO.allWrap = <div class="l1-no-menu1">|</div>
     IFSUB < .NO
     IFSUB.stdWrap.wrap = |...
     ACT < .NO
     ACT.allWrap = <div class="l1-act-menu1">|</div>
     CUR < .NO
     CUR.allWrap = <div class="l1-cur-menu1"><span>&gt;&nbsp;|</span></div>
     CUR.doNotLinkIt = 1
   }



More information about the TYPO3-german mailing list