Smarty Plugin um eine komplette Navigation mit dem {nav} Plugin zu erstellen.
Pos | Attribut | Typ | Erforderlich | Beschreibung |
---|---|---|---|---|
1 | root | Page | Nein | Startseite (Standard: Startseite des aktuellen Mandanten) |
2 | only_path | boolean | Nein | Nur Items anzeigen die im aktuellen Pfad sind (Standard: false) |
3 | depth | integer | Nein | Maximale Tiefe (Standard: unendlich) |
4 | var | string | Nein | Ausgabe in eine Smarty Variable zwischenspeichern (Standard: direkte Ausgabe) |
Das {nav} Plugin wird im {navtree} Plugin rekursiv verwendet und erzeugt eine komplette Seitenstruktur/Navigation mit festgelegtem HTML.
Beispiel:
{navtree}
erzeugt
<ul>
<li>
<a href="URL">Seite A</a>
<ul>
<li>
<a href="URL">Seite B</a>
</li>
</ul>
</li>
</ul>
Befindet man sich auf "Seite B", dann wird die CSS Klasse current vergeben. Alle Seiten die sich im Pfad zu "Seite B" befinden, erhalten die Klasse active.
Dies geschieht mithilfe von JavaScript. Dadurch kann die Navigation sinnvoll im Cache gespeichert werden.
Eigene Templates
Das Plugin verwendet zwei Templates:
- lib/smarty/plugins/navtree/body.tpl
- lib/smarty/plugins/navtree/children.tpl
Diese können Sie bei Bedarf ersetzen (eines oder beide). Dabei müssen Sie in einem Ihrer site Verzeichnisse folgende Struktur anlegen:
- plugins/smarty/navtree/body.tpl
- plugins/smarty/navtree/children.tpl
Ihr site Verzeichnis kann dabei site/_global/, site/<Mandant>/ oder pub/theme/<Design>/site sein.