Zum Hauptinhalt gehen

Aktuelle Sprache im ContentSelect nutzen

Kommentare

4 Kommentare

  • Zendesk API User
    Author: MarsDD - 12/15/2016 9:15

    Hi Marcus,

    ich glaube es funktioniert wie folgt:

    <CMS_VALUE_PARAM name="lang" value="set_lang" />

    $CMS_SET(set_lang, <Sprache>)$

    $CMS_FOR(news, fr_news)$

    ...

    Viele Grüße

    Marcel

    0
  • Zendesk API User
    Author: mstaender - 12/15/2016 13:42

    Hi Marcel,

    zunächst fand ich das total einleuchtend aber bisher klappt es nicht. Ich habe offenbar irgendwas an der "Variablen-Weiterreichungs-Chain" nicht verstanden. Bei mir sieht das jetzt so aus:

    <CMS_HEADER>

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

          <CMS_VALUE_PARAM name="lang" value="set_lang" />

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

            <QUERY entityType="news" limit="3">

                <FILTERPARAM parameter="lang" datatype="java.lang.String"/>

                <EQ attribute="language" value="lang"/>

            </QUERY>

        </CMS_FUNCTION>

    </CMS_HEADER>

    $CMS_SET(set_lang, "DE")$ <-- hier sind Anführungszeichen um DE...

    <section>

        <h3>News (ContentSelect Test)</h3>

        $CMS_FOR(news, fr_news)$

            Something visible?!

        $CMS_END_FOR$

        <h3>End News (ContentSelect Test)</h3>

    </section> 

    Aktuell wird immernoch kein Element gefunden

    0
  • Zendesk API User
    Author: mbergmann - 12/16/2016 9:01

    Hallo Marcus,

    Du prüfst hier gegen den Wert "lang", musst aber gegen den Parameter prüfen. Versuch mal

    <EQ attribute="language" parameter="lang"/>

    Viele Grüße

    Michael

    0
  • Zendesk API User
    Author: mstaender - 12/16/2016 9:32

    Hi Michael,

    das war der noch fehlende Hinweis den ich immer wieder übersehen hatte.

    Finale Lösung um ein ContentSelect ind er Form abhängig von der Sprache zu machen, indem geprüft wird ob die Sprache im Datensatz steht:

    <CMS_HEADER>
        <CMS_FUNCTION name="contentSelect" resultname="fr_news">

          <CMS_VALUE_PARAM name="lang" value="set_lang" />

          <CMS_PARAM name="schema" value="immernochmeinschema" />
            <QUERY entityType="news" limit="3">
                <FILTERPARAM parameter="lang" datatype="java.lang.String"/>
                <EQ attribute="language" parameter="lang"/>
            </QUERY>
        </CMS_FUNCTION>
    </CMS_HEADER>

    $CMS_SET(set_lang, #global.language.abbreviation)$

    <section>

        <h3>News (ContentSelect Test)</h3>
        $CMS_FOR(news, fr_news)$

            ...
            Something visible!

            ...
        $CMS_END_FOR$
        <h3>End News (ContentSelect Test)</h3>
    </section> 

    Danke euch zwei :smileyhappy:

    MfG Marcus

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.