# bx:navigation

Das Tag `navigation` wird verwendet, um eine Navigationsstruktur darzustellen.

## Allgemeine Syntax

```xml
<bx:navigation.{level} [normal | protected | showcurrentinactive] [open]>Inhalt</bx:navigation.<level>>
```

| level | Navigationstiefe (beginnt mit 0 = Root-Ebene)<br>um darunterliegende Menüpunkte anzuzeigen, werden<br>`bx:navigation`<br>-Tags geschachtelt (jeweils das Level um 1 erhöhen) |
| --- | --- |
| normal protected showcurrentinactive | nur nicht-geschützte Menüpunkte anzeigen nur geschützte (Intranet-)Menüpunkte anzeigen wird angezeigt, wenn man sich gerade in diesem inaktiven Menüpunkt befindet |
| open | geöffnete Menüpunkte anzeigen |

Ab Version 2.6.2 kann man auch auf Seiteninhalte zugreifen, so wie bei bx:submenu.

### Beispiele

```xml
<bx:navigation.0>
  <a href="<bx:navigation.path/>"><bx:navigation.name/></a><br>
  <bx:navigation.1>
    <a href="<bx:navigation.path/>">-<bx:navigation.name/></a><br>
    <bx:navigation.2>
      <a href="<bx:navigation.path/>">--<bx:navigation.name/></a><br>
    </bx:navigation.2>
  </bx:navigation.1>
</bx:navigation.0>
```

Beispiel für geschachtelte Navigation

## navigation.path

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

Der virtuelle Pfad wird ohne "/www/webname/" und ohne "/" am Ende ausgegeben (siehe Beispiel oben).

## navigation.dir

```xml
<bx:navigation.dir/>
```

Es wird nur der aktuelle Verzeichnisname ausgegeben.

## navigation.name

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

Dieses Tag gibt den angezeigten Name des Menüpunktes aus.

## navigation.target

```xml
<bx:navigation.target [default="{ziel}"] />
```

Das Zielframe wird ausgegeben.

| ziel | Standard-Zielframe, wenn im Menüpunkt kein Zielframe angegeben wurde |
| --- | --- |

## navigation.id

```xml
<bx:navigation.id/>
```

Dieses Tag gibt die ID des Menüpunktes aus. Die ID der aktuellen Seite kann auch mit `<a href="http://docs.batix.info/display/DEVS/bx%3Apagedata#bx:pagedata-pagedata.navid" target="_blank">bx:pagedata.navid</a>` ausgegeben werden.

## navigation.index

```xml
<bx:navigation.index/>
```

Es wird eine laufende Nummer innerhalb der Navigations-Schleife ausgegeben. Die Zählung beginnt bei 1 und startet in jedem Unterpunkt neu.

## navigation.if

```xml
<bx:navigation.if (open | closed | hasChilds | noChilds | self | notself | first | last | notfirst | notlast)> Inhalt </bx:navigation.if>
<bx:navigation.if (id="{id}" | parent="{id}" | path="{pfad}" | redirected [not])> Inhalt </bx:navigation.if>
```

Mit diesem Tag kann entschieden werden, ob ein bestimmter Quelltext ausgegeben werden soll. Die ID der aktuellen Seite kann auch mit `<a href="http://docs.batix.info/display/DEVS/bx%3Apagedata#bx:pagedata-pagedata.nav" target="_blank">bx:pagedata.nav</a>` abgefragt werden.

| pfad | Menüpunkt-Pfad |
| --- | --- |
| open/closed | Menüpunkt ist geöffnet (gilt auch für Überebenen) |
| hasChilds/noChilds | Abfrage, ob Menüpunk Unterpunkte besitzt |
| self/notself | aktueller Menüpunkt |
| first/last/notfirst/notlast | erklärt sich selbst |
| id | Vergleich des Menüpunkts mit einer ID (mehrere IDs mit Komma, Semikolon oder Leerzeichen getrennt ab v 2.6.2) |
| parent | Vergleich des übergeordnete Menüpunkts mit einer ID |
| path | Vergleich des Menüpunktes mit einem bestimmten Pfad |
| redirected | wenn Menüpunkt weitergeleitet wird |

## navigation.link

```xml
<bx:navigation.link/>
<bx:navigation.link> Linktext </bx:navigation.link>   <!-- es kann ein eigener Linktext angegeben werden -->
```

Es wird ein Link zum aktuellen Navigationspunkt des Schleifendurchlaufs erzeugt. 
Es werden alle angegebenen Parameter in das HTML-Tag übernommen. Als target für den Link wird der beim Menüpunkt gespeicherte Wert bevorzugt.

### Beispiele

```xml
<bx:navigation.0>
  <bx:navigation.link default="_blank"><span title="<bx:navigation.name/>"><bx:navigation.index/></span></bx:navigation.link><bx:navigation.if notlast> | </bx:navigation.if>
</bx:navigation.0>
```

Navigation mit Zahlen - ich weiß, issn blödes Beispiel

Ausgabe: 1 | 2 | 3 | 4    - beim Hover auf die Zahlen erscheint der Menüpunktname. Der letzte Trennstrich wurde ausgeklammert.

## navigation.meta

```xml
<bx:navigation.meta name="{metaname}"/>											<!-- Ausgabe der Meta-Eigenschaft -->
<bx:navigation.meta name="{metaname}" [not]> Inhalt </bx:navigation.meta>	<!-- gibt den Inhalt nur aus, wenn die Meta-Eigenschaft existiert bzw. nicht existiert (not) -->
```

Dieses Tag gibt Meta-Daten zum aktuellen Menüpunkt aus oder prüft, ob diese vorhanden sind. Es kann auch [bx:navdata](/books/cms-handbuch-entwickler/page/bx-navdata) benutzt werden.