Strukturvariablen in ContentSelect
Author: lars_kollin
Publication Date: 3/28/2012 11:05
Hallo zusammen,
in https://community.e-spirit.com/message/3742#3742 und https://community.e-spirit.com/message/4580#4580 habe ich jetzt schon so einiges über das Auslesen von Strukturvariablen gelernt.
Dennoch gelingt es mir nicht, diese Techniken innerhalb der Parameterisierung eines ContentSelect einzusetzen.
Ich möchte muss Datensätze einer Tabelle anhand des Jahres eines Datumsfeldes des jeweiligen Datensatzes in zwei Ausgabe trennen. Die jeweiligen ContentSelects sehen dabei wie folgt aus:
| <CMS_FUNCTION name="contentSelect" resultname="datensaetze_nach_trennjahr"> | ||
| <CMS_PARAM name="schema" value="datensaetze"/> | ||
| <CMS_VALUE_PARAM name='von' value='#startdate.set("day_of_month",1).set("month",0).set("year",#global.page.meta("mt_trennjahr")).set("hour",0).set("minute",0).set("second",0).getTime()' /> | ||
| <QUERY entityType="datensatzname"> | ||
| <ORDERCRITERIA attribute="datum" descending="1" /> | ||
| <FILTERPARAM parameter="von" datatype="java.util.Date" value="0"/> | ||
| <GTE attribute="datum" parameter="von" /> | ||
| </QUERY> | ||
| </CMS_FUNCTION> |
für alle Datensätze bis zu einem bestimmten 'Trennjahr' und
| <CMS_FUNCTION name="contentSelect" resultname="datensatze_vor_trennjahr"> | ||
| <CMS_PARAM name="schema" value="datensaetze"/> | ||
| <CMS_VALUE_PARAM name='bis' value='#startdate.set("day_of_month",1).set("month",0).set("year",#global.page.meta("mt_trennjahr")).set("hour",0).set("minute",0).set("second",0).getTime()' /> | ||
| <QUERY entityType="datensatzname"> | ||
| <ORDERCRITERIA attribute="datum" descending="1" /> | ||
| <FILTERPARAM parameter="bis" datatype="java.util.Date" value="0"/> | ||
| <LT attribute="aufloesung" parameter="bis" /> | ||
| </QUERY> | ||
| </CMS_FUNCTION> |
für alle Datensätze ab dem 'Trennjahr'.
Das funktioniert mit der Angabe von metadaten auch soweit gut. Aber metadaten vererben sich ja nicht, und die Seitenstruktur ist recht weit verschachtelt und umfangreich. Es muss also eine Lösung her, die den Wert aus einer übergeordneten Strukturvariable (hier: ss_trennjahr) nimmt, und anstelle des metadatums in den CMS_VALUE_PARAM einsetzt.
Vielen Dank vorab fürs Grübeln, oder auch fürs schnelle Wissen.
Grüße,
Lars
-
Author: hoebbel - 3/28/2012 15:08
Hallo Lars,
in den Struktur-Variablen werden Strings definiert, keine Zahlen oder Datumsobjekte.
Es müsste so etwas wie ss_trennjahr.toNumber benutzt werden.
Vielleicht hilft Dir ja auch das hier weiter: "12.07.2008".toDate("dd.MM.yyyy") --> Datumsobjekt
Viele Grüsse aus Dortmund,
Holger
0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
1 Kommentar