mark_weigelt
Elite Observer

Abfrage mit %lang% für eine externe Datenbank?

Jump to solution

Hallo,

wir haben eine externe Datenbank lesend in FirstSpirit eingebunden.

Die Datenbank enthällt die (sprachunabhängige) Spalte "Language" mit den Sprachkürzeln DE, EN usw. als String.

Ich versuche nun eine Abfrage für den Daten-Reiter anzulegen, um nur die Datensätze der aktuellen Sprache zu erhalten:

<QUERY entityType="Features">

    <EQ attribute="Language" datatype="java.lang.String" value="%lang%"/>

</QUERY>

Leider bekomme ich so keine Ergebnisse!?

Wie kann ich auf die aktuelle FirstSpirit-Sprache in einer Abfrage sonst noch zugreifen oder was mache ich falsch?

FirstSpirit-Version: 5.0.606

Viele Grüße

Mark

1 Solution

Accepted Solutions
kohlbrecher
Crownpeak employee

Hallo Mark,

der Platzhalter %lang% ist nur für ORDERCRITERIA gedacht. Soviel ich weiß, geht das was du möchtest nur über contentSelect. Meinst du mit der aktuellen Sprache die Sprache des Clients oder der Generierung?

An die Sprache der Generierung kommst du mit #global.language, an die Sprache des Client mit java.util.Locale.getDefault().

Viele Grüße

Jan

View solution in original post

2 Replies
kohlbrecher
Crownpeak employee

Hallo Mark,

der Platzhalter %lang% ist nur für ORDERCRITERIA gedacht. Soviel ich weiß, geht das was du möchtest nur über contentSelect. Meinst du mit der aktuellen Sprache die Sprache des Clients oder der Generierung?

An die Sprache der Generierung kommst du mit #global.language, an die Sprache des Client mit java.util.Locale.getDefault().

Viele Grüße

Jan

Hallo Jan,

gemeint war die aktuelle Sprache bei der Generierung.

Ein contentSelect kommt in diesem Fall nicht in Frage, da wir mehrere Seiten (Fragmente) aus der Datenquelle generieren müssen.

Ich habe es jetzt so gelöst, dass in der Tabellenvorlage die Sprache abgefragt wird ggf. die Generierung gestoppt wird.

$CMS_IF(#row.Language != #global.language.toString())$

    $-- stop generate --$

    $CMS_SET(#global.stopGenerate,true)$

$CMS_ELSE$

    $-- generate --$

    ...

$CMS_END_IF$

Viele Grüße

Mark

0 Kudos