plamka
I'm new here

Integration iterateResults resultName="r"

Jump to solution

Hi,

ich habe eine Frage zum Integration Modul. Ich habe mehrere Sprachkanäle, somit auch Inhalte in unterschiedlichen Sprachen.

Ich würde gerne über das Integration Modul eine Suche ausführen und dann alle Datensätze auslesen. Wie mache ich das am besten?

Der folgende Aufruf liefert leider kein Ergebnis

<fsi:iterateResults resultName="r">

    $ {r.title}

</fsi:iterateResults>

Um den deutschen bzw. englischen Titel zu erhalten müsste ich

${r.title_DE} bzw. ${r.title_EN} aufrufen. Kann ich nicht irgendwie das lang übergeben ???

z.B. <c:get ... r.title, lang:DE > ????

MFG und Danke

David

0 Kudos
1 Solution

Accepted Solutions
feddersen
Community Manager

Ah, dann hatte ich sie falsch verstanden. Ich dachte, die Query würde erst gar keine Ergebnisse liefern.

Ja, Sie müssen selbst das passende Feld für die jeweilige Sprache ausgeben. Das ist aber einfach möglich, indem Sie im Template das Sprachkürzel generieren lassen:

<c:forEach items="${entries}" var="r"

     $ {r.title_$CMS_VALUE(#global.language.abbreviation)$}

</c:forEach>

View solution in original post

0 Kudos
6 Replies
boesebeck
Crownpeak employee

HI,

wie sieht die jeweilige Query aus?

Gruß

Gerrit Bösebeck

0 Kudos

<fsi:setSchema schema="intranet">

    <fsi:search resultName="entries" pageSize="$CMS_VALUE(news_per_page)$">

        <fsi:query>

            <QUERY entityType="I_News">

            <AND>

                <EQ attribute="active" datatype="java.lang.Boolean" value="true"/>

                <LT attribute="date_exp" datatype="java.util.Date" value="<%=new Date().getTime()%>"/>

            </AND>   

            </QUERY>

        </fsi:query>

    </fsi:search>

</fsi:schema>

0 Kudos

Sieht erst mal gut aus. Gibt es Ergebnisse, wenn sie eine bzw. beide der Bedingungen entfernen?

0 Kudos

Nein,

ich muss immer $ {r.title_EN} bzw $ {r.title_DE} ausgeben.

Der folgende Aufruf liefert ebenfalls kein Ergebnis.

<c:forEach items="${entries}" var="r"

     $ {r.title}

</c:forEach>

0 Kudos
feddersen
Community Manager

Ah, dann hatte ich sie falsch verstanden. Ich dachte, die Query würde erst gar keine Ergebnisse liefern.

Ja, Sie müssen selbst das passende Feld für die jeweilige Sprache ausgeben. Das ist aber einfach möglich, indem Sie im Template das Sprachkürzel generieren lassen:

<c:forEach items="${entries}" var="r"

     $ {r.title_$CMS_VALUE(#global.language.abbreviation)$}

</c:forEach>

0 Kudos

Ja stimmt, vielen Dank !!!

0 Kudos