Search the FirstSpirit Knowledge Base
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:
Type | Language | Some Content |
---|---|---|
regular | DE | Some content for regular de |
regular | EN | Some content for regular en |
regular | DE | 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
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
Ich muss das leider noch einmal pushen
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
Hi Tim,
super, es funktioniert
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