Search the FirstSpirit Knowledge Base
Hallo ich möchte in einer CMS_Function Navigation die Anzahl der Subfolder pro Menüebene ermitteln.
Hier ein Code-Ausschnitt:
<CMS_ARRAY_PARAM name="innerBeginHTML">
<CMS_ARRAY_ELEMENT><![CDATA[
<ul class="isFlyout">
<li class="info isDesktopOnly"><h2>Ihre Auswahl</h2></li>
$CMS_IF(#nav.hasSubFolders)$<li class="scrollUp isMobileOnly"><span></span></li>$CMS_END_IF$
<li class="back isMobileOnly"><a href="">zurück zu $CMS_VALUE(#nav.label.convert)$</a></li>]]>
</CMS_ARRAY_ELEMENT>
<CMS_ARRAY_ELEMENT><![CDATA[
<ul class="isFlyout">
<li class="back isMobileOnly"><a href="">zurück zu $CMS_VALUE(#nav.label.convert)$</a></li>]]>
</CMS_ARRAY_ELEMENT>
<CMS_ARRAY_ELEMENT><![CDATA[<li><ul class="mainnavlevel4">]]></CMS_ARRAY_ELEMENT>
<CMS_ARRAY_ELEMENT><![CDATA[<li><ul class="mainnavlevel5">]]></CMS_ARRAY_ELEMENT>
<CMS_ARRAY_ELEMENT><![CDATA[<li><ul class="mainnavlevel6">]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="innerEndHTML">
<CMS_ARRAY_ELEMENT index="0..7"><![CDATA[</ul></li>]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
Es gibt ja bereits einen Befehl um zu ermitteln, um überhaupt festzustellen ob ein Ordner Unterordner hat: #nav.hasSubFolders
Dieser Befehl bringt mir hier aber nichts, da ich nur true / false zurück bekomme und nicht die Anzahl.
Gibt es hierzu eine Möglichkeit / Schleife / andere Prüfung um das zu ermitteln? Es sollen auch nur Ordner zählen, die nicht im Menü versteckt werden - also für die jeweilige Sprache sichtbar sind.
Hallo, nein dieser Artikel hilft mir leider nicht weiter. Ich habe es bereits schon mit diesen Befehlen probiert.
Es kommt für mich nur das hier in Frage, da ich ein Formattemplate zur Generierung der kompletten Navigation erstelle:
$CMS_SET(counter,0)$
$CMS_FOR(folder,#nav.ref.parent.parent.parent.parent.getChildren(#nav.ref.parent.class))$
$CMS_IF(folder.getFolderLangSpec(#global.language).isVisible())$
$CMS_SET(counter,counter+1)$
$CMS_VALUE(folder.id)$
$CMS_END_IF$
$CMS_END_FOR$
Mein Problem ist hier, dass 4x mit "parent" zurück gesprungen wird. Ich bräuchte immer nur den nächst höheren Folder: $CMS_FOR(folder,#nav.ref.parent.getChildren(#nav.ref.parent.class))$
Bis hier hin klappt das noch, aber in meiner Navigation-Funktion, erhalte ich auch nur dann die Subfolder, wenn es sich um den "selectedHTML" Bereich handelt. Ich möchte aber für alle (also auch "unselectedHTML") die Subfolder-Anzahl ermitteln. Hier bekomme ich überhaupt kein Ergebnis in der For-Schleife 😞
Die anderen Vorschläge beziehen sich mit #global.node immer auf eine bestimmte Seite, was ich nicht brauche. Es soll ja die ganze Navigation durchlaufen und die Subfolder ermittelt werden.
Das selbe Problem, dass mir im "unselectedHTML" Bereich keine Ergebnisse geliefert werden, habe ich auch hier: https://community.e-spirit.com/message/11669
Hallo Yvonne,
hat dir die Antwort aus dem Posting https://community.e-spirit.com/message/11669 auch bei diesem Posting geholfen, so dass dieser Thread als beantwortet markiert werden kann? Oder benötigst Du noch weitere Antworten?
Viele Grüße
Jan
Hallo,
da seit Jans Nachfrage keine weitere Reaktion erfolgte, gehe ich davon aus, dass die Frage gelöst wurde und kennzeichne sie daher als beantwortet.
Sollten dennoch weitere Fragen bestehen, bitte ein neues Posting erstellen.
Viele Grüße
Michaela
Sorry für den Necro, aber das Thema ist noch immer nicht im Produkt gelöst.
Vielleicht mag der eine oder die andere meinen FR unterstützen?