Hallo,
damit Detailseiten für die Ausgabe von einzelnen News-Datensätzen nicht in alle Ewigkeit stets neu generiert werden, möchte ich die Abfrage für die auszuwählenden Datensätze um ein maximales Alter erweitern.
Die bisherige Abfrage lautet so:
<QUERY entityType="news">
<FILTERPARAM parameter="id" datatype="java.lang.Integer" value="833"/>
<AND>
<EQ attribute="rubrikenList.fs_id" parameter="id"/>
<LTE attribute="datum" datatype="de.espirit.common.Now" value="1288341564861"/>
<OR>
<IS_NULL attribute="datum_archivierung"/>
<GT attribute="datum_archivierung" datatype="de.espirit.common.Now" value="1288341564861"/>
</OR>
</AND>
</QUERY>
Diese Abfrage soll so erweitert werden, dass News, die älter als ein Jahr sind, unabhängig vom (teilweise leeren) Archivierungsdatum, nicht mehr ausgewählt werden, also ungefähr so:
<QUERY entityType="news">
<FILTERPARAM parameter="id" datatype="java.lang.Integer" value="833"/>
<FILTERPARAM parameter="Datum" datatype="java.util.Date" value="#global.now-31536000000"/>
<AND>
<EQ attribute="rubrikenList.fs_id" parameter="id"/>
<LTE attribute="datum" datatype="de.espirit.common.Now" value="1288341564861"/>
<GT attribute="datum" parameter="Datum"/>
<OR>
<IS_NULL attribute="datum_archivierung"/>
<GT attribute="datum_archivierung" datatype="de.espirit.common.Now" value="1288341564861"/>
</OR>
</AND>
</QUERY>
Wie zu erwarten war, funktioniert "#global.now-31536000000" nicht. Wie kann ich diese Abfrage definieren?
Wohlgemerkt, es handelt es sich nicht um einen Query in einem ContentSelect, sondern dieser wird beim Datenbankschema definiert, um im Bereich "Daten" der Detailseite verwendet zu werden.