MarcusDau
Occasional Collector

Navigation umgekehrt sortiert ausgeben

Jump to solution

Hallo!

Ich kann momentan wohl auf Grund einer Erkältung nicht mehr so klar denken, darum muss ich diese Frage hier stellen.

Ich teste eine wirklich simple CMS_FUNCTION ein, die eine Art Brotkrume für etracker generieren soll:

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

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

        <CMS_PARAM name="suppressEmptyFolders" value="0" />

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

                                           

        <CMS_ARRAY_PARAM name="unselectedHTML">

            <CMS_ARRAY_ELEMENT index="1"><![CDATA[$CMS_IF(#nav.ref.uid=="startseite")$__INDEX__Startseite$CMS_ELSE$Startseite,$CMS_VALUE(#nav.label)$$CMS_END_IF$]]></CMS_ARRAY_ELEMENT>

            <CMS_ARRAY_ELEMENT index="2..10"><![CDATA[,$CMS_VALUE(#nav.label)$]]></CMS_ARRAY_ELEMENT>

        </CMS_ARRAY_PARAM>   

       

        <CMS_ARRAY_PARAM name="selectedHTML">

            <CMS_ARRAY_ELEMENT index="1"><![CDATA[$CMS_IF(#nav.ref.uid=="startseite")$__INDEX__Startseite$CMS_ELSE$Startseite,$CMS_VALUE(#nav.label)$$CMS_END_IF$]]></CMS_ARRAY_ELEMENT>

            <CMS_ARRAY_ELEMENT index="2..10"><![CDATA[,$CMS_VALUE(#nav.label)$]]></CMS_ARRAY_ELEMENT>

        </CMS_ARRAY_PARAM>         

      </CMS_FUNCTION>

Dabei kommt z.B. so etwas heraus:

  • Startseite,Unterseite1,Unterseite2

Nun möchte ich das ganze aber umgekehrt sortiert ausgeben lassen, also

  • Unterseite2 < Unterseite1 < Startseite

Wie kann ich das mit CMS-Bordmitteln lösen? JSP kommt hier nicht in Frage, da ich diesen "Wert" dann mittels

$CMS_SET(#global.context("PAGE")["etracker_pagename"],WERT)$

setzen und später in einem CMS_RENDER weiterreichen möchte.

Kann $CMS_FOR auf rückwärts ein Array durchlaufen? Habe das bisher nicht hinbekommen.

Danke für Eure Hilfe im Voraus.

Grüße

Marcus

0 Kudos
1 Solution

Accepted Solutions
MarcusDau
Occasional Collector

So, Gehirnwindungen wieder neu sortiert und nun konnte ich es dann doch selber lösen!

$CMS_SET(breadcrumbReverse,"")$

$CMS_FOR(for_wrapper, [1 .. fr_pt_breadcrumb_simple.toString().split(",").size()])$

$CMS_SET(breadcrumbReverse,fr_pt_breadcrumb_simple.toString().split(",")[#for.index] + " < " + breadcrumbReverse)$

$CMS_END_FOR$

$CMS_SET(#global.context("PAGE")["etracker_pagename"],breadcrumbReverse.toString().replaceAll(" < $",""))$

Grüße

Marcus

View solution in original post

0 Kudos
1 Reply
MarcusDau
Occasional Collector

So, Gehirnwindungen wieder neu sortiert und nun konnte ich es dann doch selber lösen!

$CMS_SET(breadcrumbReverse,"")$

$CMS_FOR(for_wrapper, [1 .. fr_pt_breadcrumb_simple.toString().split(",").size()])$

$CMS_SET(breadcrumbReverse,fr_pt_breadcrumb_simple.toString().split(",")[#for.index] + " < " + breadcrumbReverse)$

$CMS_END_FOR$

$CMS_SET(#global.context("PAGE")["etracker_pagename"],breadcrumbReverse.toString().replaceAll(" < $",""))$

Grüße

Marcus

0 Kudos