# bx:submenu

Das Tag `submenu` erzeugt eine Liste der Unterpunkte des aktuellen Menüpunktes. Kann geschachtelt werden (siehe Beispiel ganz unten).
Innerhalt der Schleife kann bx:navdata benutzt werden.

## submenu.list

```xml
<bx:submenu.list [all]> Inhalt </bx:submenu.list>
```

Innerhalb des Tags kann auf die Inhalte des Unterpunktes (bx:text..., bx:bild... usw) zugegriffen werden. Es können darin die nachfolgenden Tags verwendet werden.

| all | um auch nicht aktivierte Menupünkte anzuzeigen |
| --- | --- |

## submenu.name

```xml
<bx:submenu.name />
```

Der Name des Menüpunktes wird ausgegeben.

## submenu.link

```xml
<bx:submenu.link> Inhalt </bx:submenu.link>
```

Es wird ein Link auf den Menüpunkt erzeugt. Als Linktext wird der Tag-Inhalt verwendet.

## submenu.description

```xml
<bx:submenu.description [maxwords="{n}"] />
```

Dieses Tag gibt die Beschreibung des Menüpunktes aus,

| maxwords | optional auf {n} Wörter begrenzt |
| --- | --- |

## submenu.path

```xml
<bx:submenu.path />
```

Ausgabe des relativen Pfades zum Unterpunkt (auch bei mehreren Schachtelungsebenen). 
Der virtuelle Pfad wird ohne "/www/webname/" und ohne "/" am Ende ausgegeben.

## submenu.target

```xml
<bx:submenu.target alt="_self" />
```

Das Target aus dem Menüpunkt wird ausgegeben.

## submenu.meta

```xml
<bx:submenu.meta name="Meta-Key" />
<bx:submenu.meta name="Meta-Key" [not] > ... </bx:submenu.meta>
```

Metadaten aus dem Navigationspunkt ausgeben oder abhängig vom Vorhandensein einen Block ausgeben. Es kann auch bx:navdata (siehe Batix Docs) benutzt werden.

## submenu.cols

```xml
<bx:submenu.cols num="{n}" equals="{n}">...</bx:submenu.cols>
```

Zeigt abhängig von einer Spaltennummer einer Menüpunktliste Daten an.

### Beispiele

```xml
<bx:submenu.cols num="3" equals="3">style="margin-right:0;"</bx:submenu.cols>
```

Nur Spalte drei soll kein Rechts-Margin haben

```xml
<bx:submenu.cols num="3" equals="2" true="Spalte zwei" false="nicht Spalte zwei"/>
```

Wenn Spalte 2: zeige anderen Text als Spalte 1 und 3

```xml
<bx:submenu.cols num="3" 1="links" 2="mitte" 3="rechts"/>
<bx:submenu.cols num="3" col1="links" col2="mitte" col3="rechts"/>
```

Je nach Spalte anderer Text

## submenu.index

```xml
<bx:submenu.index [add="Startwert"]/>
```

Ausgabe einer laufenden Nummer des Schleifendurchlaufs. (Beginnend bei 1)
Mit `<bx:submenu.index add="0"/>` beginnt die Schleife ab 0 (z. B. für Javascript-Arrays)

## submenu.redirected

```xml
<bx:submenu.redirected> ... </bx:submenu.redirected>
<bx:submenu.redirected not> ... </bx:submenu.redirected>
```

Abfrage, ob der Punkt weitergeleitet ist

### Beispiele

```xml
<bx:submenu.redirected><a href="<bx:submenu.redirecturl/>"><bx:navlink><bx:bild.Bild/></bx:navlink></a></bx:submenu.redirected> (extern)
<bx:submenu.redirected not><bx:submenu.link><bx:submenu.name/></bx:submenu.link></bx:submenu.redirected> (intern)
```

Zugriff auf Inhalte eines Untermenü-Punkts, wenn Weiterleitung im Unterpunkt

## submenu.redirecturl

```xml
<bx:redirecturl />
```

Rückgabe der Redirect-URL

## Schachtelung und Geschwister

### Beispiel

```xml
<bx:submenu.list>
  <bx:submenu.name />
  <bx:Submenu.list>
    <bx:Submenu.name />
  </bx:Submenu.list>
</bx:submenu.list>
```

Es werden die zwei Ebenen unter dem jeweiligen Menüpunkt ausgegeben. Zur Unterscheidung der Schleifen muß die Schreibweise bissl kreativ angepaßt werden (Groß- und Kleinschreibung).

```xml
<bx:clipboard.cut name="navid"><bx:pagedata.parentnavid/></bx:clipboard.cut>

<bx:navlink navid="clipboard:navid">
  <bx:submenu.list>
    <button class="btn btn-default" onclick="location.href='<bx:submenu.path/>'"><bx:submenu.name/></button>
  </bx:submenu.list>
</bx:navlink>  
```

Geschwisternavigationspunkte ausgeben