---
title: "Unterschiedlicher Wrap für Menue"
url: "https://www.typo3.net/d/87518-unterschiedlicher-wrap-fuer-menue"
source: "typo3.net"
tags: ["TYPO3","Menüs","Frage"]
created: "2009-03-03"
last_reply: "2009-03-04"
replies: 8
solved: false
page: 1
pages: 1
lang: "de"
---

# Unterschiedlicher Wrap für Menue

TYPO3 › Menüs · 8 Antworten · gestartet 2009-03-03

## Eröffnungsbeitrag

**BergBenji** · 2009-03-03 · [Beitrag #1](https://www.typo3.net/d/87518-unterschiedlicher-wrap-fuer-menue/1)

Hallo @ all!

Ich bin ein ziemlicher Typo3 neuling.
Wahrscheinlich werden einige bei meinem Problem lächeln.

Folgendes Menue möchte ich realisieren:

MENUEPUNKT 1
 -- LINK 1
 -- LINK 2
 -- LINK 3
 -- SUBNAVI 1
 -- -- LINK 1.1
 -- -- LINK 1.2
MENUPUNKT 2
 -- LINK 1
 -- LINK 2
 -- SUBNAVI 1
 -- -- LINK 1
 -- -- LINK 2

etc.

Habe nun folgendes zusammengesucht.

```typoscript
## Menu [Begin]
lib.mainMenu = HMENU
lib.mainMenu {
########### 1 Menu
  1 = TMENU
  1 {
     entryLevel = 0
     expAll = 1
     wrap = <ul> | </ul>
     NO {
 	  wrapItemAndSub = <li class="">|</li>
         ATagParams = class="m-parent"
        }
     ACT = 1
     ACT {
 	   wrapItemAndSub = <li class="open">|</li>
          ATagParams = class="m-parent"
         }
}


  2 = TMENU
  2 {  
     entryLevel =1
     wrap = <ul class="hide"> | </ul>

     NO {
         wrapItemAndSub =  <li class="">|</li>
         ATagParams = class=""
        }
     ACT = 1
     ACT {
          wrapItemAndSub = <li class="current">|</li>
          ATagParams = class="m-sb"
          ULTagParams = class="test"
         }
  }
}

##[MENU End]
```

Soweit funktioniert es auch schon recht gut.
Durch CSS und JAvascript wird beim anklicken eines Menupunktes dieser geöffnet - und ich kann einen Link / Subnavigation auswählen - aber beim wechsel der Seite (zu einem LINK) schliesst er mir das Menü immer wieder.

Mittels IF Abfrage wüsste ich mein Problem zu lösen - finde aber leider nach nun mehrstündiger Suche nicht wirklich eine Lösung.
Vielleicht sehe ich auch den Wald vor lauter Bäuen nicht mehr.

Diese Zeile:

```typoscript
 wrap = <ul class="hide"> | </ul>
```

müsste ich mittels einer IF Abfrage abfangen. Wenn der Menuepunkt aus 1.ACT Aktiv ist muss im 2 TMENUE der Wrap auf class sub-menue gestellt werden.

Kann mir vielleicht jemand helfen?

Template wurde mit TV umgesetzt.
(Ich kann leider das Layout nicht ändern - da es eine vorgabe ist - welche ich so verwenden muss. Hier mal ein kleiner Ausschnitt)

```html
<ul>
<li class=""><a class="m-sb" href="#">SEITE Z</a>
  <ul class="hide">
   <li><a class="m-ssb" href="#">SEITE X</a></li>
   <li><a class="m-ssb" href="#">SEITE Y</a></li>
   <li><a class="m-ssb" href="#">SEITE XY</a></li>	
  </ul>
</li>
<li class="open"><a class="m-sb" href="#">SEITE XZ</a> <!-- offen -->
  <ul class="sub-menue"> <!-- auch offen -->
   <li><a class="m-ssb" href="#">SEITE XX</a></li>
   <li><a class="m-ssb" href="#">SEITE XY</a></li>
   <li><a class="m-ssb" href="#">SEITE XXY</a></li>	
  </ul>
</li>
</ul>
```

Vielen Dank im voraus!

Grüße
Benji

## Antworten

### [#2](https://www.typo3.net/d/87518-unterschiedlicher-wrap-fuer-menue/2) · just2b · 2009-03-04

Hallo,

du kannst neben NO und ACT auch zB ACTIFSUB definieren und da machst du eben in level1 schon den wrap fürs UL rein und nicht erst in ebene 2

lg georg

### [#3](https://www.typo3.net/d/87518-unterschiedlicher-wrap-fuer-menue/3) · BergBenji · 2009-03-04

Viele dank für deine Antwort.
Hatte diesen befehl schon mehrfach gelesen - konnte aber nicht wirklich was damit anfangen.

Habe es jetzt wie folgt probiert - Leider ohne erfolg:

```typoscript
lib.mainMenu {
########### 1 Menu
  1 = TMENU
  1 {
     entryLevel = 0
     expAll = 1
     wrap = <ul> | </ul>
     NO {
 	  wrapItemAndSub = <li class="">|</li>
         ATagParams = class="m-parent"
        }
     ACT = 1
     ACT {
 	   wrapItemAndSub = <li class="open">|</li>
          ATagParams = class="m-parent"
         }

  ACTIFSUB = 1
  ACTIFSUB {
            wrap = <ul class="sub-menue"> | </ul>
           }

}


  2 = TMENU
  2 {  

     expAll = 1
     entryLevel =1
     #wrap = <ul class="hide"> | </ul>

     NO {
         wrapItemAndSub =  <li class="">|</li>
         ATagParams = class=""
        }
     ACT = 1
     ACT {
          wrapItemAndSub = <li class="current">|</li>
          ATagParams = class="m-sb"
         }
  }

  3 = TMENU
  3 {  
     expAll = 1
     entryLevel =2
     wrap = <ul class="open opened"> | </ul>

     NO {
         wrapItemAndSub =  <li class="">|</li>
         #ATagParams = class="m-ssb"
        }
     ACT = 1
     ACT {
          wrapItemAndSub = <li class="current">|</li>
          #ATagParams = class="m-ssb"
         }
  }




}
```

Gibt es auch sowas wie ACTIFNOSUB also ein befehl der diese umschliessung mit dem UL tag ausführt, wenn der Menuepunkt nicht aktiv ist?

Viele danke im voraus!

Grüße
Benji

### [#4](https://www.typo3.net/d/87518-unterschiedlicher-wrap-fuer-menue/4) · Unbekannter Benutzer · 2009-03-04

Es geht immer vom Allgemeinen zum Speziellen, d.h. wenn du ACT definiert hast, gilt das für alle aktiven Punkte, egal ob Untermenü oder nicht. Sobald du jetzt zusätzlich ACTIFSUB definierst, gilt das immer bei ACT mit Untermenü, damit gilt dann ACT nur noch bei keinem Untermenü, daher braucht man ACTIFNOSUB nicht.

### [#5](https://www.typo3.net/d/87518-unterschiedlicher-wrap-fuer-menue/5) · BergBenji · 2009-03-04

OK - das habe ich nun Grundsätzlich verstanden.

Dann sollte demzufolge das hier ja stimmen:

```typoscript
lib.mainMenu = HMENU
lib.mainMenu {
###### MENU 1
  1 = TMENU
  1 {
     entryLevel = 0
     expAll = 1
     wrap = <ul> | </ul>
     NO {
 	  wrapItemAndSub = <li class="">|</li>
         ATagParams = class="m-parent"
         wrap = <ul class="hide"> | </ul>
        }
     ACT = 1
     ACT {
 	   wrapItemAndSub = <li class="open">|</li>
          ATagParams = class="m-parent"
          wrap = <ul class="hide"> | </ul>
         }
     ACTIFSUB = 1
     ACTIFSUB {
     wrap = <ul class="sub-menue"> | </ul>
         }
}
###### MENU 2
  2 = TMENU
  2 {  
     expAll = 1
     entryLevel =1
     ##     wrap = <ul class="hide"> | </ul>

     NO {
         wrapItemAndSub =  <li class="">|</li>
         ATagParams = class=""
        }

     ACT = 1
     ACT {
          wrapItemAndSub = <li class="current">|</li>
          #ATagParams = class="m-parent"
          ATagParams = class="m-sb"
         }
  }
###### MENU 3
  3 = TMENU
  3 {  
     entryLevel =2
     wrap = <ul class="open hide"> | </ul>

     NO {
         wrapItemAndSub =  <li class="">|</li>
         #ATagParams = class="m-ssb"
        }
     ACT = 1
     ACT {
          wrapItemAndSub = <li class="current">|</li>
          #ATagParams = class="m-ssb"
         }
  }
}
```

Aber leider geht es nicht.
Ich arbeite wirklich erst seit kurzem mit Typo3.

Jetzt geht er hin und macht die wrap für die Submenues gar nicht.
Wo liegt der fehler - wenn ich just2b und dich Kitsunet richtig verstanden habe sollte es so wie es nun ist ja eigentlich richtig sein.

Ich weiss nicht weiter bin auch schon seit Gestern daran am basteln - aber irgendwie will es nicht.

Vielen dank und Grüße
Benjamin

### [#6](https://www.typo3.net/d/87518-unterschiedlicher-wrap-fuer-menue/6) · Unbekannter Benutzer · 2009-03-04

```typoscript
1 = TMENU
  1 {
     entryLevel = 0
     expAll = 1
     wrap = <ul> | </ul>
     NO {
          wrapItemAndSub = <li class="">|</ul></li>
         ATagParams = class="m-parent"
         linkWrap =  | <ul class="hide">
        }
     ACT = 1
     ACT {
           wrapItemAndSub = <li class="open">|</ul></li>
          ATagParams = class="m-parent"
          linkWrap =  | <ul class="hide">
         }
     ACTIFSUB = 1
     ACTIFSUB {
	  wrapItemAndSub = <li class="">|</ul></li>
      ATagParams = class="m-parent"
     linkWrap =  | <ul class="sub-menue">
         }
}
```

Das sollte eher dem entsprechen was du brauchst, denke ich mal...

### [#7](https://www.typo3.net/d/87518-unterschiedlicher-wrap-fuer-menue/7) · BergBenji · 2009-03-04

V I E L E N  D A N K !!!

Habe deinen Vorschlag so übernommen und noch ein wenig angepasst.
Nun funktioniert es einwandfrei.

Falls jemand mal ein 3 Tiefen Menue Braucht welches durch UL Vorgaben begrenzt ist.

```typoscript
lib.mainMenu = HMENU
lib.mainMenu {
###### MENU 1
  1 = TMENU
  1 	{
         entryLevel = 0
         expAll = 1
         wrap = <ul> | </ul>
    
        NO {
            wrapItemAndSub = <li class="">|</li>
            ATagParams = class=""
            }
        
        IFSUB = 1
        IFSUB {
            wrapItemAndSub = <li class="">|</ul></li>
            ATagParams = class="m-parent"
            linkWrap =  | <ul class="hide">
            }
        
        ACT = 1
        ACT {
            wrapItemAndSub = <li class="">|</li>
            ATagParams = class="m-parent"
            linkWrap =  | 
            }
        ACTIFSUB = 1
        ACTIFSUB {
            wrapItemAndSub = <li class="open">|</ul></li>
            ATagParams = class="m-parent"
            linkWrap =  | <ul class="sub-menue">
            }
    }

###### MENU 2
	2 = TMENU
	2 	{  
         expAll = 1
         entryLevel =1
            NO {
                wrapItemAndSub = <li class="">|</li>
                ATagParams = class=""
                }
            IFSUB = 1 
            IFSUB {
                wrapItemAndSub = <li class="">|</ul></li>
                ATagParams = class="m-sb"
                linkWrap = | <ul class="open hide">
                }
            ACT = 1
            ACT {
                wrapItemAndSub = <li class="current">|</li>
                ATagParams = class=""
                 }
            ACTIFSUB = 1
            ACTIFSUB {
                wrapItemAndSub = <li class="current">|</ul></li>
                ATagParams = class="m-sb"
                linkWrap = | <ul class="open opened">
            }
      }


###### MENU 3
	3 = TMENU
    3 	{  
            entryLevel =2
        NO {
            wrapItemAndSub =  <li class="">|</li>
            }
        ACT = 1
        ACT {
            wrapItemAndSub = <li class="current">|</li>
            }
  		}
}
```

Vielen vielen dank!!!

Grüße
Benjamin

### [#8](https://www.typo3.net/d/87518-unterschiedlicher-wrap-fuer-menue/8) · BergBenji · 2009-03-04

Aber eine frage hätte ich da noch nur zum verständniss:

Wie kommen die Links dann in den <ul> bereich.
Ich habe es so verstanden das das wrapItemAndSub nur das '|' durch die Links ersetzt.

Hat jemand vielleich lust mir das zu erklären.

```typoscript
                wrapItemAndSub = <li class="">|</ul></li>
                ATagParams = class="m-sb"
                linkWrap = | <ul class="open hide">
```

Vielen dank und Grüße
Benji

### [#9](https://www.typo3.net/d/87518-unterschiedlicher-wrap-fuer-menue/9) · Unbekannter Benutzer · 2009-03-04

linkWrap baut etwas um den Link "um den es geht" herum, wrapItemAndSub um den Link und sein Untermenü, d.h. es passiert folgendes (erste Menüebene wird erzeugt):

Link wird zusammengesetzt ->
<a href="index.php?id=XY>SEITENTITEL</a>

linkWrap (da wo | steht kommt der Link hin) ->
<a href="index.php?id=XY>SEITENTITEL</a> <ul class="open hide">

wrapItemAndSub (da wo | steht kommt der Link und das Untermenü hin (und alles was sonst für den Link konfiguriert ist)) ->
<li class=""> <a href="index.php?id=XY>SEITENTITEL</a> <ul class="open hide"> UNTERMENU </ul></li>

---

Quelle: „Unterschiedlicher Wrap für Menue“, typo3.net, https://www.typo3.net/d/87518-unterschiedlicher-wrap-fuer-menue
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
