Beispiel
Eine Nachricht wird an alle Kunden versendet, die in den letzten fünf Tagen einen Einkauf getätigt haben. Die Nachricht beinhaltet eine Liste der Produkte, die der Kunde in diesem Zeitraum gekauft hat.
Alle Einkäufe der Kunden sind in einem Pool-Container mit dem Namen Einkäufe gespeichert. Der Pool-Container ist mit dem Attribut Kunden_ID verknüpft. Die im Attribut gespeicherte Kunden-ID ist identisch mit dem Schlüssel des Pool-Containers. Da Kunden mehrere Einkäufe tätigen können, ist der Pool-Container nicht Unique.
Die Funktion ecm:addInterval gibt den Wert des heutigen Datums minus fünf Tage zurück:
ecx:formatDate(ecm:addInterval(date.today, '-5d'),'yyyy-MM-dd',ecm:timeZone('Europe/London'),'',false
Der von dieser Funktion zurückgegebene Wert wird anschließend als Parameter in der ecx:filter Funktion genutzt, die alle Einträge zu Einkäufen zurückgibt, die in den letzten fünf Tagen getätigt wurden. Da der Pool-Container nicht Unique ist, fügt eine ForEach-Schleife die Daten in die Nachricht ein. Der gesamte Ausdruck in der ForEach-Schleife ist wie folgt aufgebaut:
<%ForEach var="count" items="${ecx:filter(ecx:related('Purchases', user.CustomAttribute['client_ID']), ['Date'], '>=', ecx:formatDate(ecm:addInterval(date.today, '-5d'),'yyyy-MM-dd',ecm:timeZone('Europe/London'),'',false))}"%> <%${count.Article}%> <%/ForEach%>