Zum Inhalt springen

Menü mit unterschiedlich <ul> und <li>

Erstellt am 5. Dezember 2006 · 6 Antworten · letzte Antwort am 6. Dezember 2006

Tags: Frage

lexus_mod ·

Hallo zusammen,

mein "Learning by Doing" in Sachen Typo3 stößt z.Z. an seine Grenzen.
Ich zermarter mir schon einige Zeit den Kopf wie ich folgende Menüzustände des Klappmenüs wrapen kann.

<ul id="menu" class="menu">
 <li><a href="#">Menu 1</a></li>
 <li><a href="#">Menu 2</a></li>
	  
 <li><a href="#">Menu 3</a>
  <ul>
   <li><a href="#">Menu 3 Sub 1</a></li>
  </ul>
 </li>

 <li><a href="#">Menu 4</a>
  <ul>
   <li><a href="#">Menu 4 Sub 1</a></li>
  </ul>
 </li>
</ul>

Jetzt möchte ich wenn z.B. Menu 3 oder "Menu 3 Sub 1"
ausgewählt wurde, das dass Menü folgendermaßen gewrapt wird:

Menu 3 oder "Menu 3 Sub 1" Aktiv

<ul id="menu" class="menu">
 <li><a href="#">Menu 1</a></li>
 <li><a href="#">Menu 2</a></li>
	  
 <li><a href="#">Menu 3</a></li>
 <li><a href="#">Menu 3 Sub 1</a></li>

 <li><a href="#">Menu 4</a>
  <ul>
   <li><a href="#">Menu 4 Sub 1</a></li>
  </ul>
 </li>
</ul>

Kann ich das überhaupt so wie ich mir das vorstelle mit TS erzeugen?
Oder bin ich mit meinem Ansatz auf dem Holzweg?

Zur Info: Ich muss expAll = 1 anwenden weil ich noch ein JavaScript nutzen möchte was die Links später aufklappen lassen soll.

Für jede Hilfe wäre ich euch dankbar.

subparts.MENU = HMENU
	subparts.MENU {
	entryLevel = 0
	
	# Erste Ebene
	1 = TMENU
	1 {
		wrap = <ul id="menu">|</ul>
		expAll = 1
		IFSUB = 1
		IFSUB.allWrap = <li>|<ul>
		NO.linkWrap = <li>|</li>
	#	ACTIFSUB = 1
	#	ACTIFSUB.linkWrap = <li>|</li>
		}

	# Zweite Ebene
	2 = TMENU
	2 {
		wrap =  | </ul></li>
		expAll = 1
		IFSUB = 1
		IFSUB.allWrap = <li>|<ul>
		NO.linkWrap = <li>|</li> 
		RO = 1
	#	ACTIFSUB = 1
	#	ACTIFSUB.linkWrap = 
		}
	}
}

Grüße lexus

just2b ·

Hallo,

ein Listenmenü baut man so auf:

subparts.MENU = HMENU
subparts.MENU {
 wrap = <ul id="nav1">|</ul>
 1 = TMENU
 1.NO.wrapItemAndSub = <li>|</li>
 2 <.1
 2.wrap = <ul id="nav2">|</ul>

lg georg

lexus_mod ·

Hallo Georg,

erstmal coole Seite www.ringerge.org und danke für die Antwort aber ich bin jetzt genau soweit wie ich schon vor zwei Tagen war.

Ich habe Dein Script für meine Bedürfnisse angepasst, klappt auch soweit.

Ich komm einfach nicht drauf wie ich jetzt den <ul></ul> Tag um das "Menu 3 Sub 1" weg bekomme und hinter Menu 3 muss der </li> Tag noch geschlossen werden, sobald das Menu 3 oder "Menu 3 Sub 1" aktiv ist. Aber so das der <ul></ul> um das "Menu 4 Sub 1" stehen bleibt.

Beispiel: kein Menü ist aktiv

<ul id="menu" class="menu">
  <li><a href="#">Menu 1</a></li>
  <li><a href="#">Menu 2</a></li>
  <li><a href="#">Menu 3</a>
    <ul>
      <li><a href="#">Menu 3 Sub 1</a></li>
    </ul>
  </li>
  <li><a href="#">Menu 4</a>
    <ul>
      <li><a href="#">Menu 4 Sub 1</a></li>
    </ul>
  </li>
</ul>
</ul>

Beispiel: Menu 3 ist aktiv

<ul id="menu" class="menu">
  <li><a href="#">Menu 1</a></li>
  <li><a href="#">Menu 2</a></li>
  <li><a href="#">Menu 3</a></li>

      <li><a href="#">Menu 3 Sub 1</a></li>

  <li><a href="#">Menu 4</a>
    <ul>
      <li><a href="#">Menu 4 Sub 1</a></li>
    </ul>
  </li>
</ul>
</ul>

Beispiel: Menu 4 ist aktiv

<ul id="menu" class="menu">
  <li><a href="#">Menu 1</a></li>
  <li><a href="#">Menu 2</a></li>
  <li><a href="#">Menu 3</a>
    <ul>
      <li><a href="#">Menu 3 Sub 1</a></li>
    </ul>
  </li>
  <li><a href="#">Menu 4</a></li>

      <li><a href="#">Menu 4 Sub 1</a></li>


</ul>
subparts.MENU= HMENU
subparts.MENU{
wrap = <ul id="menu" class="menu">|</ul>

 1 = TMENU
 1{
 expAll = 1
 NO.wrapItemAndSub = <li>|</li>
 }
 2 = TMENU
 2{
 wrap = <ul>|</ul>
 NO.wrapItemAndSub = <li>|</li>
 }

Grüße lexus