Hallo zusammen,
ich bastel gerade an einem Navigationsskript und dabei ist folgendes Problem aufgetaucht:
Ich habe eine Hauptnavigation welche die ersten fünf Ordner der ersten Ebene anzeigt, zusätzlich wird die dazugehörige zweite Ebene aufgeklappt, wenn man mit der Maus über einen Menüpunkt der ersten Ebene fährt. Dann gibt es noch eine "Content-Navigation" die alle Ordner der Ebene 2 und 3 darstellen soll. Diese wird erst angezeigt, wenn ich mit der Maus einen Menüpunkt der Ebene 2 angeklickt habe und auf die entsprechende Seite springe.
In der FirstSpirit - Vorschau funktioniert das wunderbar. Ich kann mich über die Hauptnavigation zu den Seiten durchklicken und es erscheint auf den angesteuerten Seiten ordnungsgemäß immer die linke Navigation (Content-Navigation).
Wenn ich aber direkt eine Seite der zweiten bzw. dritten Ebene in der Vorschau öffne, würde ich erwarten, dass dann auch sofort die entsprechende "Content-"Navigation angezeigt wird. Das geschieht aber leider nicht. Erst wenn ich die selbe Seite über die Hauptnavigation anklicke, öffnet sich die "Content-Navigtaion". Warum ist das so? (Es geht nur um die Vorschau in der Inhalteverwaltung)
Das Problem liegt vielleicht am Parameter "root", das Skript schafft es nicht "schnell" genug diesen zu verarbeiten und weiß dann nicht in welche Referenzen es anzeigen soll.... (Wobei das bei der Hauptnavigation zu funktionieren scheint.) Wie kann ich den Wert für "root" schon vorher auslesen und abspeichern?
Das Skript für die "Content-Navigation" sieht so aus:
<CMS_FUNCTION name="Navigation" resultname="pt_content_navi_preview">
<CMS_PARAM name="expansionVisibility" value="standard"/>
<CMS_PARAM name="wholePathSelected" value="1"/>
<CMS_VALUE_PARAM name="root" value='"pagefolder:"+#global.language.abbreviation.toLowerCase()'/>
<CMS_ARRAY_PARAM name="beginHTML">
<CMS_ARRAY_ELEMENT index="1"><![CDATA[$CMS_IF(#nav.hasSubFolders())$<li $CMS_IF(#nav.selected)$class="open"$CMS_END_IF$>$CMS_END_IF$]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="innerBeginHTML">
<CMS_ARRAY_ELEMENT index="1"><![CDATA[<ul>]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="unselectedHTML">
...fast gleich wie selected...
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="selectedHTML">
<CMS_ARRAY_ELEMENT index="1..2"><![CDATA[$CMS_IF(!#nav.hasSubFolders())$<li class="active">$CMS_END_IF$<a href="$CMS_REF(#nav.ref)$">$CMS_VALUE(#nav.label.convert2())$</a>$CMS_IF(!#nav.hasSubFolders())$</li>$CMS_END_IF$]]> </CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="innerEndHTML">
<CMS_ARRAY_ELEMENT index="1"><![CDATA[</ul >]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="endHTML">
<CMS_ARRAY_ELEMENT index="1"><![CDATA[$CMS_IF(#nav.hasSubFolders())$</li>$CMS_END_IF$]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
</CMS_FUNCTION>
Es würde mich sehr freuen ein Feedback zu erhalten. (Auch wenn wahrscheinlich die Gedanken bei den Meisten nicht mehr beim Arbeiten sind 🙂
Gruß
Charlotte König