mstaender
I'm new here

%lang% als parameter value in QUERY v2

Jump to solution

Hi,

ich habe im Forum viele Beiträge gefunden die zunächst wie mein Problem klingen aber dann entweder nicht wirklich beantwortet wurden oder doch nicht ganz gepasst haben.

Ich habe ein Formular mit einer CMS_INPUT_COMBOBOX welche mir sprachabhängig Einträge aus einer Datenquelle anzeigt. Die Einträge unterscheiden sich je nach Sprache völlig (Anzahl, Inhalt... alles eben). Nun bekomme ich es einfach nicht hin, dass nur die Einträge angezeigt werden die zur aktuellen Sprache gehören.

Dieser Thread sah gut aus https://community.e-spirit.com/message/18790 wurde aber nicht so wirklich beantwortet. Es gibt noch viele andere die auch gut aussehen, davon wurden viele mit ContentSelect beantwortet, was bei mir jetzt nicht wirklich sinnvoll geht, indirekt z.B. hier https://community.e-spirit.com/message/26581

Die Datenbankeinträge sehen grob so aus:

TypeLanguageSome Content
regularDESome content for regular de
regularENSome content for regular en
regularDE

Some other content for regular de

  <CMS_INPUT_COMBOBOX

    name="st_test"

    allowEmpty="yes"

    hFill="yes"

    singleLine="no"

    sortOrder="ascending"

    useLanguages="no">

    <CMS_INCLUDE_OPTIONS type="database">

      <LABELS>

        <LABEL lang="*">#item.name</LABEL>

      </LABELS>

      <QUERY name="my.cool_query_name">

        <PARAM name="lang">DE</PARAM>

      </QUERY>

      <TABLE>maileon.targetgroups</TABLE>

    </CMS_INCLUDE_OPTIONS>

    <LANGINFOS>

      <LANGINFO lang="DE" label="Zielguppe" description="Bitte wählen Sie die Zielgruppe aus."/>

      <LANGINFO lang="*" label="Targetgroup" description="Please select the target group."/>

    </LANGINFOS>

  </CMS_INPUT_COMBOBOX>

Das Query sieht so aus:

<QUERY entityType="whatever">

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

    <AND>

        <EQ attribute="type" datatype="java.lang.String" value="regular"/>

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

    </AND>

</QUERY>

Das klappt für DE als Parameter natürlich klasse aber soll dynamissiert werden. Also gelesen und das %lang% "Objekt" gefunden das man anscheinend missbrauchen kann aber ich finde nicht heraus was das für ein Objekt ist, also welche Attribute hat es? Existiert es überhaupt, wie komme ich an die "Abbreviation"?

Ich hoffe einer von euch kann mir hier helfen Smiley Sad

0 Kudos
1 Solution

Accepted Solutions

Hallo Marcus,

womöglich funktioniert es über eine Regel. Dort kannst du die aktuelle Sprache ermitteln: http://www.e-spirit.com/odfs50/de/vorlagenentwicklung/regeln/_property___tag/lang/attribut_lang.html

Außerdem kannst du mit einer Regel den Wert eines Query-Parameters in einer CMS_INPUT_COMBOX setzen: http://www.e-spirit.com/odfs50/de/vorlagenentwicklung/regeln/_property___tag/value/attribut_value.ht...

Ich habe es nicht getesten, aber in der Theorie sollte es klappen :smileygrin:

Bei deiner Eingabekomponente ist mit allerdings noch aufgefallen, dass "useLanguages" auf "no" gesetzt ist. Ist das Absicht?

Viele Grüße

Tim

View solution in original post

0 Kudos
3 Replies
mstaender
I'm new here

Ich muss das leider noch einmal pushen Smiley Sad

0 Kudos

Hallo Marcus,

womöglich funktioniert es über eine Regel. Dort kannst du die aktuelle Sprache ermitteln: http://www.e-spirit.com/odfs50/de/vorlagenentwicklung/regeln/_property___tag/lang/attribut_lang.html

Außerdem kannst du mit einer Regel den Wert eines Query-Parameters in einer CMS_INPUT_COMBOX setzen: http://www.e-spirit.com/odfs50/de/vorlagenentwicklung/regeln/_property___tag/value/attribut_value.ht...

Ich habe es nicht getesten, aber in der Theorie sollte es klappen :smileygrin:

Bei deiner Eingabekomponente ist mit allerdings noch aufgefallen, dass "useLanguages" auf "no" gesetzt ist. Ist das Absicht?

Viele Grüße

Tim

0 Kudos

Hi Tim,

super, es funktioniert Smiley Happy

Das mit der Sprache ist in der Tat noch falsch- Da ich bisher noch im Experimentiermodus war hatte ich das nicht weiter vervollständigt.

MfG Marcus

0 Kudos