captFuture
I'm new here

Array index in <CMS_FUNCTION Navigation aus Eingabekomponente setzen

Guten Morgen,

Aufgrund spezieller Anforderungen unserer Redakteure würde ich gerne den Array index bei einer Navigation per Eingabekomponente setzen. FS5 verweigert mir das speichern des Templates weil es der meinung ist $CMS_VALUE(st_navilevel)$ ist keine Zahl. Wo ist mein denkfehler?

<CMS_HEADER>

<CMS_FUNCTION name="Navigation" resultname="pt_leftNavi">

    <CMS_PARAM name="expansionVisibility" value="standard"/>

    <CMS_PARAM name="wholePathSelected" value="1"/>

   

    <CMS_PARAM name="root" value="pagefolder:root" />

   

    <CMS_ARRAY_PARAM name="innerBeginHTML">

        <CMS_ARRAY_ELEMENT index="$CMS_VALUE(st_navilevel)$..6"><![CDATA[<ul class="nav nav-list">]]></CMS_ARRAY_ELEMENT>

    </CMS_ARRAY_PARAM>

    <CMS_ARRAY_PARAM name="beginHTML">

        <CMS_ARRAY_ELEMENT index="$CMS_VALUE(st_navilevel)$..6"><![CDATA[]]></CMS_ARRAY_ELEMENT>

    </CMS_ARRAY_PARAM>

    <CMS_ARRAY_PARAM name="unselectedHTML">

            <CMS_ARRAY_ELEMENT index="$CMS_VALUE(st_navilevel)$..6"><![CDATA[<li class=""><a class="" href="$CMS_REF(#nav.ref)$">$CMS_VALUE(#nav.label.convert2)$</a>]]></CMS_ARRAY_ELEMENT>

    </CMS_ARRAY_PARAM>

    <CMS_ARRAY_PARAM name="selectedHTML">

        <CMS_ARRAY_ELEMENT index="$CMS_VALUE(st_navilevel)$..6"><![CDATA[<li class="active"><a class="active" href="$CMS_REF(#nav.ref)$">$CMS_VALUE(#nav.label.convert2)$</a>]]></CMS_ARRAY_ELEMENT>

    </CMS_ARRAY_PARAM>

    <CMS_ARRAY_PARAM name="endHTML">

        <CMS_ARRAY_ELEMENT index="$CMS_VALUE(st_navilevel)$..6"><![CDATA[</li>]]></CMS_ARRAY_ELEMENT>

    </CMS_ARRAY_PARAM>

    <CMS_ARRAY_PARAM name="innerEndHTML">

        <CMS_ARRAY_ELEMENT index="$CMS_VALUE(st_navilevel)$..6"><![CDATA[</ul>]]></CMS_ARRAY_ELEMENT>

    </CMS_ARRAY_PARAM>

</CMS_FUNCTION>

</CMS_HEADER>

<div id="lnav">

<ul class="nav nav-list">

$CMS_VALUE(pt_leftNavi)$

</ul>

</div>

<div class="clearfix"></div>

Danke Christoph

0 Kudos
6 Replies
rednoss
I'm new here

Hallo Christoph,

bitte poste einmal das GOM der Eingabekomponente mit dem Namen st_navilevel.

Viele Grüße

Rene

0 Kudos

<CMS_MODULE>

  <CMS_INPUT_COMBOBOX name="st_navilevel" preset="default" useLanguages="no">

    <ENTRIES>

      <ENTRY value="0">

        <LANGINFOS>

          <LANGINFO lang="*" label="Level 0"/>

        </LANGINFOS>

      </ENTRY>

      <ENTRY value="1">

        <LANGINFOS>

          <LANGINFO lang="*" label="Level 1"/>

        </LANGINFOS>

      </ENTRY>

      <ENTRY value="2">

        <LANGINFOS>

          <LANGINFO lang="*" label="Level 2"/>

        </LANGINFOS>

      </ENTRY>

      <ENTRY value="3">

        <LANGINFOS>

          <LANGINFO lang="*" label="Level 3"/>

        </LANGINFOS>

      </ENTRY>

      <ENTRY value="4">

        <LANGINFOS>

          <LANGINFO lang="*" label="Level 4"/>

        </LANGINFOS>

      </ENTRY>

    </ENTRIES>

    <LANGINFOS>

      <LANGINFO lang="*" label="Navigationslevel"/>

    </LANGINFOS>

  </CMS_INPUT_COMBOBOX>

</CMS_MODULE>

0 Kudos

Hallo Christoph,

der Rückgabetyp einer CMS_INPUT_COMBOBOX ist eine Option.

Die Navigationsfunktion erwartet allerdings eine Ganzzahl.

Viele Grüße

Rene

0 Kudos

Hallo Rene,

die Navigationsfunktion mag alleine schon das $CMS_VALUE(st_navilevel)$ nicht - egal welche eingabekomponente ich verwende - an der eingabe liegt es nicht...

Das bedeutet, wenn ich $CMS_VALUE(st_navilevel.value)$ verwende bekomme ich genauso Capture.PNG

Viele Grüße Christoph

0 Kudos

Hallo Christoph,

der Parameter "index" akzeptiert in der Navigationsfunktion leider keinen CMS_VALUE-Ausdruck. Hier können ausschließlich Ganzzahlen verwendet werden.

Viele Grüße

Rafael

EDIT: Es besteht die Möglichkeit bei Bedarf mehrere Navigationsfunktionen in ein Rendertemplate auszulagern und diese jeweils mit dem entsprechenden Parameter abhängig von der Eingabekomponente aufzurufen.

0 Kudos

Du kannst gerne einen Feature-Request stellen (Parameter/Funktionen für Index in CMS_ARRAY_PARAM), das Beispiel sieht so aus, als wäre der Anwendungsfall nicht so abwägig.

Peter
0 Kudos