---
title: "Die Anzahl von Submenu-Einträgen in Bezug zum aktuellen Menülevel zählen"
url: "https://www.typo3.net/d/121200-die-anzahl-von-submenu-eintraegen-in-bezug-zum-aktuellen-menuelevel-zaehlen"
source: "typo3.net"
tags: ["TYPO3","Menüs","Datenbank","Frage","TYPO3 6.x"]
created: "2015-11-03"
last_reply: "2015-11-05"
replies: 2
solved: false
page: 1
pages: 1
lang: "de"
---

# Die Anzahl von Submenu-Einträgen in Bezug zum aktuellen Menülevel zählen

TYPO3 › Menüs · 2 Antworten · gestartet 2015-11-03

## Eröffnungsbeitrag

**sowas_aber_auch** · 2015-11-03 · [Beitrag #1](https://www.typo3.net/d/121200-die-anzahl-von-submenu-eintraegen-in-bezug-zum-aktuellen-menuelevel-zaehlen/1)

Hallo,

in dem Menü, das ich gerade Baue benötige ich bereits im ersten Level die Anzahl an Submenus.
Das ist nötig, da das css eine Klasse in abhängigkeit von der Anzahl an (Sub-)Menüeinträgen hat.

Beispiel: <li class="dropdown mega-menu-X">
wobei X die Anzahl an Submenus ist.

Ich habe schon viel gegooglet und bin auf etwas gestoßen, was nach einer kleinen Anpassung so aussieht:

```typoscript
lib.test = COA
lib.test {

   # Save the output of numRows in the registervalue: "menuNumber"
  10 = LOAD_REGISTER
  10.menuNumber.numRows {
    table = pages
    select.pidInList =  this
  }

  # Retrieve the registervalue and display it.
  20 = TEXT
  20.dataWrap = <div>There are {register:menuNumber} subpages </div>

}

page.30 < lib.test
```

Wenn ich für "this" eine konkrete Zahl angebe, zu der ich weiß dass diese 3 Unterseiten hat, dann wird im Text auch 3 ausgegeben. Schön und gut, mein Problem ist allerdings, dass ich nicht weiß, wie ich das ganze in mein Menü unterbringen soll.

Mein Menü sieht bisher so aus:

```typoscript
lib.testmenu31 = HMENU
lib.testmenu31 {
	entryLevel = 0
	
	1 = TMENU
	1 {
		expAll = 1
		wrap = <ul class="nav navbar-nav"> | </ul>
		noBlur = 1
		
		NO = 1
		NO {
			wrapItemAndSub = <li> | </li>
			stdWrap.htmlSpecialChars = 1
			ATagTitle.field = title
		}
		
		IFSUB = 1
		IFSUB {
			ATagBeforeWrap = 1
			linkWrap = | <b class="caret"></b>
			
			10 = LOAD_REGISTER
			10.menuNumber.numRows {
				table = pages
				select.pidInList = 84
			}
			
			wrapItemAndSub = <li class="dropdown mega-menu-{register:menuNumber}"> | </li>
			wrapItemAndSub.insertData = 1
			stdWrap.htmlSpecialChars = 1
			ATagTitle.field = title
			ATagParams = class="dropdown-toggle" data-toggle="dropdown" aria-expanded="true"
		}
		
		ACT = 1
		ACT <.NO
		
		ACTIFSUB = 1
		ACTIFSUB <.IFSUB
	}
	
	2 = TMENU
	2 <.1
	2 {
		expAll = 1
		wrap = <ul class="dropdown-menu"> | </ul>
		NO {	
			doNotShowLink = 1
			wrapItemAndSub = <li class="one-column"> | </li>
		}
		IFSUB = 0
		ACTIFSUB = 0
	}
	
	3 = TMENU
	3 <.2
	3 {
		expAll = 1
		wrap = <ul> | </ul>
		NO {
			doNotShowLink = 0
			wrapItemAndSub = <li class="nav-title"> | </li> |*| <li> | </li>
		}
	}
}
```

Aber es scheint so, als könnte er es nicht richtig verarbeiten. Im Quelltext wird als Ergebnis einfach Nichts eingefügt.

Weiß jemand wie man das hinbekommt, oder eine alternative?

Ich brauch ja eigentlich nur die Anzahl aller pid mit nummer X zum aktuellen uid X indem ich mich gerade befinde.

Vielen Dank für eure Antworten

## Antworten

### [#2](https://www.typo3.net/d/121200-die-anzahl-von-submenu-eintraegen-in-bezug-zum-aktuellen-menuelevel-zaehlen/2) · toifel · 2015-11-04

Innerhalb eines IFSUB kannst du bspw. mit before.cObject arbeiten.. ein brauchbares Beispiel dazu findest du hier: <http://www.typo3wizard.com/de/snippets/menus/nummeriertes-menue.html>
Das sollte mit ein paar Anpassungen in etwa das sein, was du brauchst.

Du kannst im HMENU auch "select.pidInList.field = uid" nutzen, ohne eine konkrete ID zu setzen. Im HMENU beziehen sich die fields immer auf die pages Tabelle.

### [#3](https://www.typo3.net/d/121200-die-anzahl-von-submenu-eintraegen-in-bezug-zum-aktuellen-menuelevel-zaehlen/3) · sowas_aber_auch · 2015-11-05

Vielen Dank für den entscheidenden Tip :)

so funktioniert es jetzt:

```typoscript
IFSUB = 1
		IFSUB {
			ATagBeforeWrap = 1
			linkWrap = | <b class="caret"></b>
			
			before.cObject = LOAD_REGISTER
			before.cObject {
				subMenuItems.cObject = TEXT
				subMenuItems.cObject {
					numRows {
						table = pages
						select.pidInList.field = uid
					}
				}
			}

			
			wrapItemAndSub = <li class="dropdown mega-menu-{register:subMenuItems}"> | </li>
			
			wrapItemAndSub.insertData = 1
			stdWrap.htmlSpecialChars = 1
			ATagTitle.field = title
			ATagParams = class="dropdown-toggle" data-toggle="dropdown" aria-expanded="true"
		}
		
		ACT = 1
		ACT <.NO
		
		ACTIFSUB = 1
		ACTIFSUB <.IFSUB
	}
```

---

Quelle: „Die Anzahl von Submenu-Einträgen in Bezug zum aktuellen Menülevel zählen“, typo3.net, https://www.typo3.net/d/121200-die-anzahl-von-submenu-eintraegen-in-bezug-zum-aktuellen-menuelevel-zaehlen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
