contentSelect mit einem Datum und mode="Date"
Author: Jacky
Publication Date: 8/26/2011 7:15
Hallo zusammen,
ich habe in einer Tabelle eine Spalte für ein Datum, das anhand der Eingabekomponente $CMS_INPUT_DATE$ mit mode="date" gewählt wird.
Die Spalte in der Tabelle habe ich als "FIRSTspirit-Editor" angelegt (weil im Falle von mode="date" der Datentyp "Date" nicht zur Verfügung steht).
Nun möchte ich per contentSelect eine Abfrage durchführen, die mir alle Einträge von heute liefert:
<CMS_FUNCTION name="contentSelect" resultname="fs_events">
<CMS_PARAM name="schema" value="Events" />
<CMS_VALUE_PARAM name='now' value='#global.now' />
<QUERY entityType="Event">
<FILTERPARAM parameter="now" datatype="???"/>
<EQ attribute="date" parameter="now"/>
</QUERY>
</CMS_FUNCTION>
Wie muss die Abfrage aussehen, damit sie funktioniert?
Alternativ habe ich auch versucht das Datum als "long" anzulegen, aber hier ist die Abfrage immer null, weil der Wert von #global.now (in Millisekunden) nicht mit meinem Wert aus der Tabelle übereinstimmt, obwohl es dasselbe Datum ist (ich nehme an, dass die Uhrzeiten unterschiedlich gesetzt sind?).
Wie löse ich das nun am besten?
Vielen Dank und viele Grüße,
Jacky
Tags: contentselect, datum, mode=, date
-
Author: hoebbel - 8/26/2011 8:07
Hallo Jacky,
wenn der Datentyp date beim mapping nicht zur Verfügung steht, dann bedeutet dies, dass als mode entweder date oder time gewählt wurde.
Ich tippe mal auf date (also nur der Tag ist auswählbar).
Als Speicherformat würde ich long benutzen.
Als Vergleichswert dann #global.now.set("hour",0).set("minute",0).set("second",0).set("millisecond",0) [also heute um Mitternacht]
Gestern wäre somit #global.now.set("hour",0).set("minute",0).set("second",0).set("millisecond",0).plus(-1000*60*60*24)
und morgen das selbe ohne das Minuszeichen :smileywink:
Viele Grüsse aus Dortmund,
Holger
0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
1 Kommentar