Hallo Michael,
Sowohl als auch...
Die Einstiegsseite ist eine SPA. Dort findet man u.A. ein Navigationspunkt wie Services und Unterpunkte mit Service1 und Service2 etc. und das alles auf eine Single-Page-Application mit Ankerpunkten(href="#about_us" etc...).
Zusätzlich gibt es aber auch ein Navigationspunkt der heißt Gallery, der wiederum auf eine neue Seite verlinkt ist..
Mein Ansatz wäre jetzt gewesen für eine Sektion:
- Ist Navigationspunkt auf On (Toggle)
- Ist Unternavigation auf On (Toggle)
- Erscheinen von einer Liste mit bereits erstellten Sektionen die Navigationspunkte sind. ( Noch unklar wie ich diese Elemente "de.espirit.firstspirit.access.store.pagestore.Section" in eine Liste bekomme..)
- Label füllen für den Menüpunkt
Anschließend in deiner oben genannten FOR-Schleife diese Form-Data Elemente berücksichtigen..
Evtl. noch unter der eigen-erstellen-Projekteinstellungsseite diese Liste benutzerseitig sortierbar machen und dann diese der FOR-Schleife übergeben..
Für die Navigationspunkte, die auf eine neue Seite verweisen, würden nachwievor über die Struktur erstellt werden... (Bin aber eher unzufrieden mit der Mischung von zwei Erstellungsmethoden für die Navigation...)
Sind alles aber erste spontane Ideen die im Moment durch meinen Kopf fliegen..
Bisheriger Stand:
<CMS_HEADER>
<CMS_FUNCTION name="Navigation" resultname="fr_nav">
<CMS_PARAM name="expansionVisibility" value="all"/>
<CMS_PARAM name="wholePathSelected" value="1" />
<CMS_VALUE_PARAM name="root" value="ss_navRoot"/>
<CMS_ARRAY_PARAM name="innerBeginHTML">
<CMS_ARRAY_ELEMENT index="0..3"><![CDATA[
<ul>
]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="beginHTML">
<CMS_ARRAY_ELEMENT index="0..4"><![CDATA[
<li class="$CMS_IF(#nav.hasSubFolders)$sub-menu$CMS_END_IF$ sub-menu-$CMS_VALUE(#nav.level)$">
]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="unselectedHTML">
<CMS_ARRAY_ELEMENT index="0..4"><![CDATA[
$CMS_IF(#nav.comment.isEmpty)$
$CMS_ELSE$
<a href="$CMS_REF(#nav.ref)$">$CMS_VALUE(#nav.label.convert2)$ $CMS_IF(#nav.hasSubFolders)$<em></em>$CMS_END_IF$</a>
$CMS_END_IF$
]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="selectedHTML">
<CMS_ARRAY_ELEMENT index="0..4"><![CDATA[
$CMS_IF(#nav.comment.isEmpty)$
$CMS_ELSE$
<a href="$CMS_REF(#nav.ref)$" class="active">$CMS_VALUE(#nav.label.convert2)$ $CMS_IF(#nav.hasSubFolders)$<em></em>$CMS_END_IF$</a>
$CMS_END_IF$
]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="endHTML">
<CMS_ARRAY_ELEMENT index="0..4"><![CDATA[
</li>
]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="innerEndHTML">
<CMS_ARRAY_ELEMENT index="0..3"><![CDATA[
</ul>
]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
</CMS_FUNCTION>
</CMS_HEADER>
$--
This template will create a navigation.
--$
<div class="navbar-collapse navbar-collapse_ collapse">
<ul class="nav navbar-nav sf-menu clearfix">
$CMS_FOR(for_section,
#global.page.getChildren(class("de.espirit.firstspirit.access.store.pagestore.Section"), true)
.toList
.filter(section -> section.formData.st_hasNavEntry==true)
)$
<li class="sub-menu">
<a href ="#section_$CMS_VALUE(for_section.id)$">$CMS_VALUE(for_section.formData.st_navLabel.convert2)$</a>
</li>
$CMS_END_FOR$
$CMS_VALUE(fr_nav)$
</ul>
</div>
Viele Grüße
Peter