oboeck
I'm new here

Ordercriteria per CMS_VALUE_PARAM setzten

Hallo zusammen,

ich hab ein Problem und zwar will ich über ein contentSelect auch eine Sortierung einbauen. Diese Sortierung soll aber durch den Redakteur veränderbar sein ASC - DESC Radiobutton.

Hier mein Beispiel, aber das funktioniert leider nicht.

<CMS_HEADER>

        <CMS_FUNCTION name="contentSelect" resultname="faqs">

                <CMS_PARAM name="schema" value="local" />

                <CMS_VALUE_PARAM name="sortOrder" value="st_sortOrder" />

                <QUERY entityType="faq_question">

                    <ORDERCRITERIA attribute="question_%lang%" descending="sortOrder" />

                </QUERY>

        </CMS_FUNCTION>

</CMS_HEADER>

XML von st_sortOrder

<CMS_INPUT_RADIOBUTTON name="st_sortOrder" gridWidth="1" useLanguages="no">

        <ENTRIES>

          <ENTRY value="0">

            <LANGINFOS>

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

            </LANGINFOS>

          </ENTRY>

          <ENTRY value="1">

            <LANGINFOS>

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

            </LANGINFOS>

          </ENTRY>

        </ENTRIES>

        <LANGINFOS>

          <LANGINFO lang="*" label="Sort order"/>

          <LANGINFO lang="DE" label="Sortierreihenfolge"/>

        </LANGINFOS>

</CMS_INPUT_RADIOBUTTON>

Ich weiß das ganze könnte man auch per ContentProjektion und über den Datenreiter im SiteStore lösen, aber ich will explizit das ganze über ein SectionTemplate abhandeln und dem Redakteur dort die Konfigurationsmöglichkeiten geben.

Vielleicht hat einer von euch schonmal das gleiche Problem gehabt und eine Lösung parat. Über die Doku oder in der Community bin ich leider nicht fündig geworden.

Danke und VG, Olli

0 Kudos
2 Replies
mbergmann
Crownpeak employee

Hallo Olli,

ich wüsste keinen Weg diese "nicht-CMS_PARAM"-Parameter dynamisch zu setzen. Das gleiche gilt z.B. auch für Dinge wie "attribute" usw.

Je nachdem wie komplex die Abfrage ist gibt es hier verschiedene Ansätze:

1. Simpel-Lösung: Einfach das ContentSelect duplizieren und abhängig von der Wahl des Redakteurs das eine oder andere ContentSelect nehmen.

2. Das ContentSelect-XML über ein Renderscript erzeugen und dem Script den Parameter mitgeben, so dass das 1/0 dann eingebaut wird. Ist aber keine wirklich schöne Lösung.

3. Ein Renderscript (bzw. ein entsprechendes Executable) nutzen, dem Du eine leere Liste übergibst und das diese Liste dann befüllt indem die API genutzt wird.

Viele Grüße

Michael

0 Kudos
sebastianc
Crownpeak employee

Hallo Oliver,

ist diese Frage noch offen? Benötigst du noch weitere Hilfe oder konnte Michael dir bereits weiterhelfen?

In diesem Fall wäre es super, wenn du seine "richtige Antwort" entsprechend markierst.

Solltest du selbst eine Lösung gefunden haben, wäre es toll, wenn du sie hier bereitstellst.

Viele Grüße,

Sebastian

0 Kudos