Zum Inhalt springen

Probleme mit Submenu

Erstellt am 8. August 2006 · 4 Antworten · letzte Antwort am 10. August 2006

Tags: Frage

cracy ·

Hallo Zusammen,

Ich verwende folgendes TypScript:

lib.mainMenu = HMENU
lib.mainMenu {
  special = directory
  special.value = 39
  entryLevel = 0

     # Erste Menüebene (horizontaler Teil)
     1 = TMENU
     1 {
        wrap = <ul id="menu">|</ul>
        expAll = 1
        IFSUB = 1
        # SUBMENU 
        IFSUB.allWrap = <li class="aa"><div>|</div>
        # KEIN SUBMENU
        NO.linkWrap = <li><div class="bb">|</div></li>
        }

     # Zweite Ebene (erster vertikaler Teil)
     # ----> Alle folgenden sind identisch mit dieser
     2 = TMENU
     2 {
       wrap = <ul class="ee"> | </ul></li>
       expAll = 1
       IFSUB = 1
       IFSUB.allWrap = <li class="nav_leer cc">|</li>
       NO {
          linkWrap = <li class="nav_leer dd">|</li> 
          RO = 1
             }
       }
} 
## Menu [End]

Dieses TS generiert mir folgende Ausgabe:

<ul id="menu">
	<li><div class="bb"><a href="index.php?id=63" onfocus="blurLink(this);">Home</a></div></li>
	<li><div class="bb"><a href="index.php?id=112" onfocus="blurLink(this);">Öffnungszeiten</a></div></li>
	<li><div class="bb"><a href="index.php?id=113" onfocus="blurLink(this);">Lageplan</a></div></li>
	<li class="aa"><div><a href="index.php?id=114" onfocus="blurLink(this);">Firmenfacts</a></div>
		<ul class="ee">
			<li class="nav_leer dd"><a href="index.php?id=116" onfocus="blurLink(this);">Philosophie</a></li>
			<li class="nav_leer dd"><a href="index.php?id=117" onfocus="blurLink(this);">Partner</a></li>
			<li class="nav_leer dd"><a href="index.php?id=118" onfocus="blurLink(this);">Qualitätsgarantie</a></li>
		</ul>
	</li>
	<li><div class="bb"><a href="index.php?id=115" onfocus="blurLink(this);">Kontakt</a></div></li>
		<ul class="ee">
			<li class="nav_leer dd"><a href="index.php?id=125" onfocus="blurLink(this);">Öffnungszeiten</a></li>
			<li class="nav_leer dd"><a href="index.php?id=126" onfocus="blurLink(this);">Lageplan</a></li>
		</ul>
	</li>
</ul>

Leider habe ich dann in der Zeile 12 ein </li> zuviel. Weis jemand woran es liegt?
Die Menustruktur in Typo3 sieht folgendermassen aus:
- Home
- Öffnungszeiten
- Lageplan
- Firmenfacts
- Philosophie
- Partner
- Qualitätsgarantie
- Kontakt
- (Shortcut zu) Öffnungszeiten
- (Shortcut zu) Lageplan

Danke euch jetzt schon...

just2b ·

Hallo,

arbeite besser mit einer anderen Variante mit wrapItemAndSub! nach dem Schema:

1.wrap = <ul>|</ul>
1.NO.wrapItemAndSub = <li>|</li>
2  <.1

und IMO brauchst du auch die ganzen divs nicht

georg

cracy ·

Hmm... nach langem hin und her, bin ich zu folgendem TypoScript gekommen:

# Menü einfügen
lib.mainMenu = HMENU
lib.mainMenu {
  special = directory
  special.value = 39
  entryLevel = 0

     # Erste Menüebene (horizontaler Teil)
     1 = TMENU
     1 {
        wrap = <ul id="menu">|</ul>
        expAll = 1
        1.NO {
				wrapItemAndSub = <li>|</li>
		  		}
        }

     # Zweite Ebene (erster vertikaler Teil)
     # ----> Alle folgenden sind identisch mit dieser
     2 = TMENU
     2 {
       wrap = <ul class="ee"> | </ul>
       1.NO {
				wrapItemAndSub = <li class="nav_leer">|</li>
            }
       }
} 
## Menu [End]

Allerdings führt dass auch zu keiner Lösung... ich habe jetzt gar keine Ausgabe mehr? Ich zerbrach mir jetzt heute schon den ganze Nachmittag darüber den Kopf und komme einfach nicht weiter. Kann mir jemand helfen?

just2b ·

weil du vollkommenen wirrwarr hast!
es gibt kein
lib.mainMenu.1.1.NO !

das soll so von der Struktur ausschauen
lib.mainMenu {
1 = TMENU
1 {
NO {
}
}
}

lg georg

cracy ·

Ah, super... danke für den Hinweis. Ich war wohl gestern den ganzen Tag einwenig verwirrt.

Hier meine Lösung...:

# Menü einfügen
lib.mainMenu = HMENU
lib.mainMenu {
  special = directory
  special.value = 39
  entryLevel = 0

     # Erste Menüebene (horizontaler Teil)
     1 = TMENU
     1 {
        wrap = <ul id="menu">|</ul>
        expAll = 1
        NO {
		wrapItemAndSub = <li>|</li>
	   }
        }

     # Zweite Ebene (erster vertikaler Teil)
     # ----> Alle folgenden sind identisch mit dieser
     2 = TMENU
     2 {
       wrap = <ul> | </ul>
       NO {
		wrapItemAndSub = <li class="nav_leer">|</li>
          }
       }
} 
## Menu [End]