Search the FirstSpirit Knowledge Base
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
Hallo Christoph,
bitte poste einmal das GOM der Eingabekomponente mit dem Namen st_navilevel.
Viele Grüße
Rene
<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>
Hallo Christoph,
der Rückgabetyp einer CMS_INPUT_COMBOBOX ist eine Option.
Die Navigationsfunktion erwartet allerdings eine Ganzzahl.
Viele Grüße
Rene
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
Viele Grüße Christoph
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.
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.