Jedes Navigationselement steht intern in folgender go-Struktur zur Verfügung:

```go
type navElement struct {
  Navname string
  GoTo    string
  Active  bool

  Data interface{}

  This ThisPathConfig

  SubMap   *map[string]*navElement
  SubSlice *[]*navElement
}

```

Diese erste Navigationsebene wird mit seinen Unternavigationspunkten zum einen auf die Variable `{{ NavMap }}` in Form einer Map (assoziatives Array) mit dem umgeformten Namen (wie im Zielverzeichnis) abgebildet.  
Außerdem steht die erste Navigationsebene als Liste, bzw. Slice (Array) über die Variable `{{ NavSlice }}` zur verfügung.  

Wird z.B. folgende Navigation als Zielverzeichnis-Struktur angenommen:

```plain
de
  main
    home
    leistungen
    referenzen
  service
    impressum
en
  main
    home
    ...
```

Der Teasertext aus folgender `config.yml` im `content`-Verzeichnis `de/main/02_Leistungen`

```yaml
This:
  Data:
    teaser: Teasertext
```

welcher zum Navigationspunkt im Zielpfad *de/main/leistungen* gehört, ist über folgende Template-Variablen erreichbar:

```django
{{ NavMap.de.SubMap.main.SubMap.leistungen.This.Data.teaser }}

oder

{{ NavSlice.0.SubSlice.0.SubSlice.1.This.Data.teaser}}

oder auch eine Kombination

{{ NavMap.de.SubMap.main.SubSlice.1.This.Data.teaser }}
```

Natürlich wird diese Variable in der Form so nie verwendet, sondern soll nur den Aufbau der Struktur verdeutlichen. Üblicherweise werden Schleifenblöcke verwendet um die Navigationsbäume auszugeben, wie z.B. eine Liste als Sprachwähler, wenn man annimmt, dass die erste Navigationsebene die Website-Sprache ist:

```django
<ul>
  {% for lang in NavMap %}
    <li {% if lang.Active %}class="active"{% endif %}>
      <a href="{{ lang.GoTo }}">{{ lang.Navname }}</a>
    </li>
  {% endfor %}
</ul>
```

Wie im Beispiel zu sehen ist, wird das aktive Navigationselement mit `class="active"` über die Variable `Active` aus der Struktur markiert.
