Author: HenningSchneidr
Publication Date: 5/21/2019 11:23
Hallo zusammen,
ich bin gerade dabei eine Template-Satz zu erstellen, den man bei ähnlichen Projekten wieder verwenden kann und dort dann nur mit ein "paar Klicks" konfiguriert.
Dies alles ist erstmal nur ein "proof-of-concept" und soll später "nur" das initiale Setup für ein Projekt vereinfachen/vereinheitlichen.
Die Anforderung im Detail:
- Ich würde gern die Möglichkeit haben, mir projekt(-/mandanten-)spezifisch die Anzahl der Navigationen zu konfigurieren.
- Häkchen setzen welche Navi ich angezeigt haben will
- via Referenzname angeben von wo aus die Navigation sich aufbauen soll
|
 |
- Das SeitenTemplate ist relativ generisch gehalten sein
- mit dem Wert von "area" wird im RenderingSkript jeweils die gewünschte(n) Variable(n) aufgelesen
Abgrenzung:
Die jeweiligen Navigationen müssen, immer noch, mit dem Projekt-spezifischen MarkUp ge"wrapped" werden, nach dem Projekt-Setup
|
 |
- im Strukturbaum wäre dann ein spezieller Ordner angelegt der alle benötigten "Sonder"navigations-Bäume beinhaltet
- unterhalb der Startknoten dieser "Sonder"navigationen liegen die für die Anzeige gewünschten Seitenreferenzen
|
 |
- im RenderingSkript für die Navigation wird der gewünschte "root"-Knoten ermittelt (mit Fallback auf "root")
|
<CMS_HEADER> <CMS_FUNCTION name="define" resultname="navigationRoot"> <CMS_CDATA_PARAM name="source"> <![CDATA[pagefolder:$CMS_IF(!#global.getContext().getVariableValue("pt_g_navigation_"+area+"_root").isEmpty)$$CMS_VALUE(#global.getContext().getVariableValue("pt_g_navigation_"+area+"_root"))$$CMS_ELSE$root$CMS_END_IF$]]> </CMS_CDATA_PARAM> </CMS_FUNCTION> <CMS_FUNCTION name="Navigation" resultname="ft_navigation"> <CMS_PARAM name="expansionVisibility" value="all"/> <CMS_PARAM name="wholePathSelected" value="1"/> <CMS_VALUE_PARAM name="root" value="navigationRoot.toString()" /> <CMS_ARRAY_PARAM name="innerBeginHTML"> ... </CMS_HEADER> >>$CMS_VALUE(navigationRoot)$<< ... $CMS_VALUE(ft_navigation)$
|
- Für den Hauptknoten, der den Referenznamen "root" hat, funktioniert das (dort wird nicht in den Fallback gegangen)
- für alle anderen nicht
|
 |
Ich habe mir hier auch mal nach ähnlichen Problemen gesucht, z.B. hier, die Lösungen dort haben aber, für mich, nicht funktioniert
Was mache ich da falsch?
Ich hab das Gefühl das es mit der Art der Zuweisung hier:
<CMS_VALUE_PARAM name="root" value="navigationRoot.toString()" />
zu tun hat.
Tags: konfigurierbar, navigationsskript
Commentaires
0 commentaire