- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
contentSelect mit einem Datum und mode="Date"
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
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Viele Grรผsse aus Dortmund,
Holger
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Warum steht denn der Datentyp Date nicht zur Verfรผgung? Finde ich merkwรผrdig, denn auch wir haben hier solche Konstrukte:
<CMS_INPUT_DATE name="cs_erscheinungsdatum" convertEntities="standard" hFill="yes" mode="date" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Erscheinungsdatum"/>
</LANGINFOS>
</CMS_INPUT_DATE>
Daten-Schema:
Das funktioniert tadellos und dann kann man bei der Abfrage auch datatype="java.util.Date" einsetzen.
Grรผรe
Marcus
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Das steht so in der Dokumentation bei der Eingabekomponente CMS_INPUT_DATE -> mode:
Ich konnte das Datum beim Mapping auch nur auswรคhlen, wenn ich dieses mit Datentyp "long" oder FIRSTspirit-Editor angelegt habe.
Ich habe es nun so gelรถst, dass ich den mode="date" erst nach dem Mapping gesetzt habe. Jetzt kann ich mit datatype="java.util.Date" arbeiten.
Vielen Dank.
Grรผรe,
Jacky
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Viele Grรผsse aus Dortmund,
Holger
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Jacky,
Jacky schrieb:
Ich habe es nun so gelรถst, dass ich den mode="date" erst nach dem Mapping gesetzt habe. Jetzt kann ich mit datatype="java.util.Date" arbeiten.
keine gute Idee. Das WIRD zu Folgeproblemen fรผhren (spรคtestens bei der nรคchsten Zeitumschaltung)
Viele Grรผsse aus Dortmund,
Holger
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vielleicht haben wir bei der Anlage des Schemas erst einen anderen mode verwendet. Aber zumindest klappt es so bei uns! Spannend.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Holger,
es ging genau darum, dass ich mode="date" gewรคhlt hatte und nun nur die Wahl zwischen Datentyp "FIRSTspirit-Editor" und "long" hatte.
Die Abfrage funktioniert nun, vielen Dank .
An den Vergleichswert musste ich noch ein .getTime() anhรคngen, um die Millisekunden zu erhalten.
Viele Grรผรe,
Jacky

