---
title: "Das perfekte Menu mit Ergänzung in Typoscript"
url: "https://www.typo3.net/d/102030-das-perfekte-menu-mit-ergaenzung-in-typoscript"
source: "typo3.net"
tags: ["TYPO3","Menüs","Frage"]
created: "2010-10-28"
last_reply: "2010-10-29"
replies: 2
solved: false
page: 1
pages: 1
lang: "de"
---

# Das perfekte Menu mit Ergänzung in Typoscript

TYPO3 › Menüs · 2 Antworten · gestartet 2010-10-28

## Eröffnungsbeitrag

**waal** · 2010-10-28 · [Beitrag #1](https://www.typo3.net/d/102030-das-perfekte-menu-mit-ergaenzung-in-typoscript/1)

Hallo,

ich versuche dieses Menu in Typo3 zu bauen: <http://www.drweb.de/plus/designideen/menu-05/ausklappmenu-h.php5>

Das ist mir auch gelungen nur habe ich nun vor ein kleine Ergänzung vorzunehmen. Dazu soll ab der zweiten Ebene vor dem ersten Menupunkt und nach dem letzten HTML ausgegeben werde. Auch dies funktioniert mit einem Option Split:
<ul><li> HTMLvorne |</li> |*|  <li>|</li> |*| <li>| HTMLdanach</li></ul>

Dies geht solange gut, wie es immer mindestens 2 Menupunkte gibt. Gibt es nur einen wird, wie beim Option Spilt üblich leider nur der Code für den letzten Menupunkt ausgeführt. Es steht dort also:

<li>| HTMLdanach</li></ul>

Was ich aber brauche ist:

<ul><li> HTMLvorne| HTMLdanach</li></ul>

Habe nun hier:
[/d/93455-optionsplit-fuer-wrapitemandsub-bei-nur-einem-element](https://www.typo3.net/d/93455-optionsplit-fuer-wrapitemandsub-bei-nur-einem-element) entdeckt wie man Menupunkte zählen "kann".

2 = TMENU
	2 {
		expAll = 1
		noBlur = 1

		NO  {

doNotShowLink = 1

			before.cObject = TEXT
			before.cObject.field = uid
			before.cObject.dataWrap = <a href="index.php?id=|" accesskey ="{field:tx_govaccessibility_accesskey}" title="{field:title}:{field:subtitle} - Accesskey:{field:tx_govaccessibility_accesskey}">

			after.cObject = TEXT
			after.cObject.field = title//nav_title
			after.cObject.htmlSpecialChars = 1
			after.cObject.wrap = |</a>

			wrapItemAndSub.cObject = COA
			wrapItemAndSub.cObject {
				10 = TEXT
				10.value = <ul><li>HTMLvorne|HTMLdanach</li></ul>
				10.if.equals = 1
				10.if.value.data = register:count_menuItems

				20 = TEXT
				20.value = <ul><li>HTMLvorne|</li> |*|  <li>|</li> |*| <li>|HTMLdanach</li></ul>
				20.if.equals = 1
				20.if.negate = 1
				20.if.value.data = register:count_menuItems
		}

Das klappt für die zweite Ebene auch super, allerdings werden keine Untermenüs mehr angezeigt, weder durch Vererbung mit 3 < .2 4 < .2 noch durch Definition analog oben:

3 = TMENU ...

Kann mir bitte jemand helfen und sagen, ob man das Problem so lösen kann oder einen anderen Ansatz (wenn ja bitte welchen) verwenden muss.

Danke und Gruß Alex

## Antworten

### [#2](https://www.typo3.net/d/102030-das-perfekte-menu-mit-ergaenzung-in-typoscript/2) · igorshmigor · 2010-10-28

Wahrscheinlich vergessen, eine geschweifte Klammer zu schließen.

### [#3](https://www.typo3.net/d/102030-das-perfekte-menu-mit-ergaenzung-in-typoscript/3) · waal · 2010-10-29

Erstmal Danke! Das war das Problem. Habe aber leider noch eins.

Das Menu arbeitet absolut korrekt bis zur 2. Ebene. Typoscriptausschnitt:
2 = TMENU
2 {
	wrap = <ul>|</ul>
	expAll = 1
	NO{
		wrapItemAndSub.cObject = COA
		wrapItemAndSub.cObject {
			10 = TEXT
			10.value = <li>Einfach|</li>
			10.if.equals = 1
			10.if.value.data = register:count_menuItems

20 = TEXT
			20.value = <li>Er|</li> |*|  <li>Mi|</li> |*| <li>|Le</li>
			20.if.equals = 1
			20.if.negate = 1
			20.if.value.data = register:count_menuItems
			} #wrapItemAndSub.cObjectENDE
		} # NO Ende
 	} #2 Ende

Insgesamt brauche ich aber 4 Ebenen und ab der dritten gibt es Problem, die sogar auf die 2. zurückschlagen.
Bekommt ein Menupunkt 5 z.B. zwei Unterpunkte so wird korrekte ausgegeben:

<ul>
	<li><h2><a href="index.php?id=5" accesskey="" title="5: - Accesskey:">5</a></h2>
	<ul>
		<li>Er<a href="index.php?id=6" onfocus="blurLink(this);">6</a></li>
		<li><a href="index.php?id=8" onfocus="blurLink(this);">8</a>Le</li>
	</ul>
	</li>
</ul>

Fügt man nach obigen Typoscriptschnipsel die Vererbung 3 < .2 ein und hat die Seite 8 einen Unterpunkt so erhält man folgendes HTML:

<ul>
	<li><h2><a href="index.php?id=5" accesskey="" title="5: - Accesskey:">5</a></h2>

	<ul>
		<li>Er<a href="index.php?id=6" onfocus="blurLink(this);">6</a></li>
		<li>Einfach<a href="index.php?id=8" onfocus="blurLink(this);">8</a>

		<ul>
			<li>Einfach<a href="index.php?id=9" onfocus="blurLink(this);">9</a></li>
		</ul>
		</li>
	</ul>
	</li>
</ul>

Warum kommt das erste Einfach statt Le als letztes Element der 2. ebene und wie bekommt man das Problem gelöst?

Danke für die Hilfe!!!

---

Quelle: „Das perfekte Menu mit Ergänzung in Typoscript“, typo3.net, https://www.typo3.net/d/102030-das-perfekte-menu-mit-ergaenzung-in-typoscript
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
