# bx:relativelink

Das Tag `relativelink` dient zum Erzeugen relativer Links.

## Unterpunkt des aktuellen Hauptmenüpunktes

```xml
<bx:relativelink pattern="?/{pfad}" [href="{datei}]" />
<bx:relativelink pattern="?/{pfad}" [href="{datei}]" [ifempty="showbody | hide"]> Inhalt </bx:relativelink>
```

 Falls der gesuchte Pfad nicht existiert, wird in der ersten Form nichts ausgegeben. In der zweiten Form wird der Taginhalt ausgegeben, dies allerdings nur, wenn `ifempty` auf `"showbody"` gesetzt ist (was der Standard ist). Wenn `ifempty="hide"` angegeben wurde, wird bei Nichtfinden des Pfades auch nichts angezeigt. Um einen klickbaren Link zu erzeugen, muss das Tag einen Inhalt besitzen, dieser wird dann als Linktext übernommen.

| pattern | {pfad} gibt hier einen Menüpfad, ab dem aktuellen Haupmenüpunkt an |
| --- | --- |
| href | Optional kann eine Zieldatei mittels<br>`href`<br>angegeben werden, die an den Pfad angehängt wird. |
| ifempty | showbody: Taginhalt wird ausgegeben (Standard)<br>hide: bei Nichtfinden wird auch nichts angezeigt |

## Hauptmenüpunkt wechseln

```xml
<bx:relativelink pattern="{menü}/*" [href="{datei}]" />
<bx:relativelink pattern="{menü}/*" [href="{datei}]"> Inhalt </bx:relativelink>
```

Um den Hauptmenüpunkt zu wechseln, die tieferliegende Navigation aber intakt zu lassen, wird diese Variante verwendet (z.B. um zwischen Sprachen zu wechseln). Es wird nur der Hauptmenüpunkt des aktuellen Navigationspfades durch `<menü>` ersetzt und geprüft, ob der Zielpfad existiert. Falls dieser nicht gefunden wird, erfolgt die Ausgabe des Tag-Inhalts (falls vorhanden). Über `href` kann eine Zieldatei spezifiziert werden, die an den Pfad angehängt wird. Wenn der Zielpfad schließlich existiert und der Tag-Inhalt angegeben wurde, wird dieser als Linktext für einen klickbaren Link verwendet.

## allgemeiner Link

```xml
<bx:realtivelink pattern="{pfad}" [href="{datei}]" />
<bx:relativelink pattern="{pfad}" [href="{datei}]"> Inhalt </bx:relativelink>
```

`<pfad>` wird bei dieser Variante von der Startseite aus gesehen angegeben (siehe <a href="http://wiki.batix.net/index.php/Bx:relativelink/Beispiele" target="_blank">Beispiel</a>). Falls der Pfad nicht gefunden werden kann, wird ein Fehler ausgegeben. Auch hier kann eine Zieldatei über `href` und optionaler Linktext als Tag-Inhalt angegeben werden.

### Beispiele

**Code:**

```xml
Demo: <bx:relativelink pattern="?/demo"/><br/>
Eintragen: <bx:relativelink href="eintragen.htm" pattern="?/demo">
  Eintragen!</bx:relativelink><br/>
Deutsch: <bx:relativelink pattern="de/*"/><br/>
Englisch: <bx:relativelink pattern="en/*"/><br/>
<br/>
Fehler 1: <bx:relativelink pattern="?/nichtvorhanden">
  Nicht vorhanden!</bx:relativelink><br/>
Fehler 2: <bx:relativelink pattern="fr/*">
  Sprache unvollständig!</bx:relativelink><br/>
<br/>
<bx:relativelink pattern="en/demo"/>
```

**Administration:**

![](http://wiki.batix.net/images/1/1c/BspRelativelinkA.png)

**Webseite:**

![](http://wiki.batix.net/images/9/93/BspRelativelinkW.png)