nick
I'm new here

Best Practice Navigation

Mit der Navigationsfunktion lässt sich eine Navigation für eine Seite generieren. Wird diese Navigation direkt in die generierten Seite ausgegeben, so muss bei einer Änderung der Navigation (Umbenennen von Navigationspunkten, Hinzufügen von Navigationspunkten, Änderungen von Berechtigungen, usw.) eine Vollgenerierung durchgeführt werden. Je nach Größe des Projekts kann eine Vollgenerierung aber eine länger Zeit in Anspruch nehmen.

Gibt es eine Möglichkeit, eine Vollgenerierung zu vermeiden? Eine Möglichkeit wäre zum Beispiel, die Navigation etwa in ein JSP-Snippet auszulagern und dieses auf allen Seiten lediglich zu inkludieren. Allerdings stellt sich hier das Problem, dass dieses JSP-Snippet für jede Seite eine individuelle Navigation erzeugen müsste (selektierter Navigationspfad, usw.). Die Implementierung einer solchen JSP ist nicht trivial.

Welche Best Practices gibt es hierzu? Oder ist die Best Practice, eine Vollgenerierung durchzuführen?

0 Kudos
1 Reply
feddersen
Community Manager

Hallo,

ja die Auslagerung in eine JSP/PHP Datei, die per Include eingebunden wird, ist gängige Praxis um eine Vollgenerierung bei Navigationsänderungen zu vermeiden. Ob sich das lohnt hängt immer davon ab wie häufig sich die Hauptnavigation ändert. In vielen Projekten passiert das so selten, dass eine Vollgenerierung dann kein Problem ist.

Normalerweise ist so eine JSP-Lösung in wenigen Minuten implementiert:

  • Man setzt für jede Ebene in der Navigation eine Variable, die den selektierten Knoten enthält.
  • Man baut für jede Ebene eine einfache IF-Abfrage in JSP/PHP, die z.B. ein class="selected" ausgibt, wenn der Knoten als ausgewählt markiert werden soll
  • Die zu selektierenden Knoten kann man über die Navigationsfunktion (CMS-Funktion navigation) ermitteln und die JSP-Variablen entsprechend setzen.

Viele Grüße

Christoph Feddersen

0 Kudos