CalendarSheet (SP-Tag)
Name
<sp:calendarsheet> - CalendarSheet-Tag zur Verwaltung eines CalendarSheet-Objektes
Syntax
<sp:calendarsheet name="variable" action="new" from="" to=""/>
Beschreibung
Dieser Tag legt ein CalendarSheet-Objekt an und liefert Funktionen zum Befüllen. Ein CalendarSheet ist ein Object, welches [[Daten|Date] für einen bestimmten Zeitraum sammeln und nach Tagen gruppieren kann. Dies erlaubt die einfache und effiziente Auswertung aller Termine, die in den definierten Zeitraum fallen.
Ein praktisches Beispiel ist z.B. die Jahres oder Monatsansicht eines Kalenders. Eine Suchabfrage kann alle Termine innerhalb des gewünschten Monats ermitteln. Über CalendarSheet-Tag wird dann für diesen Zeitraum ein entsprechendes Objekt angelegt. In einer Schleife über alle Treffer der Suchabfrage können diese in das CalendarSheet übertragen werden. Die Auswertung des CalendarSheet erfolgt dann einfach über eine Loop über alle Tage des genannten Zeitraums. Es braucht nicht jeder Tag über eine einzelne Suchabfrage ausgewertet werden.
Attribute
Name | Type | Required | Default | ab IES Version |
---|---|---|---|---|
name
|
Attribute | Ja | None | 2 |
action
|
Text | Ja | None | 2 |
value
|
Text | Ja oder object bzw. date | None | 2 |
object
|
Object | Ja oder value bzw. date | None | 2 |
date
|
Date | Ja oder object bzw. value | None | 2 |
from
|
Date | Ja | None | 2 |
to
|
Date | Ja | None | 2 |
scope
|
Text | Nein | None | 2 |
name
- Name über den das CalendarSheet angesprochen werden kann.
action
- Aktion, die ausgeführt werden soll. Es existieren die Aktionen
add
,clear
undnew
.
value
- Zu setzendes CalendarInformation-Objekt. Dieser wird immer als Zeichenkette ausgewertet.
object
- Evaluiert das Attribut und setzt das entsprechende CalendarInformation-Objekt. Im Gegensatz zu
value
wird hier das Objekt gespeichert und nicht der Text.
date
- Zu setzender Wert. Hiermit kann direkt ein einzelnes Datum angegeben werden.
from
- Über diesen Parameter wird der zeitliche Rahmen des CalendarSheets festgelegt.
to
- Über diesen Parameter wird der zeitliche Rahmen des CalendarSheets festgelegt.
scope
- Namensraum, in dem die Variable definiert ist. Für diesen Tag ist der Page- und Request-Scope möglich (
page
,request
).
Beispiele
CalendarSheet aufbauen
<%-- Übertragung aller Ergebnisse in das CalendarSheet --%>
<sp:calendarsheet name="_cal" action="new" from="${_from}" to="${_to}"/>
<sp:loop collection="_result" item="it">
<sp:calendarsheet name="_cal" action="add" object="it.sp_date"/>
</sp:loop>
CalendarSheet ausgeben
<sp:loop collection="_cal.entries.keys" item="day">
<sp:sort name="_events" collection="_cal.entries(${day.reference})" keys="name" sequences="asc" types="text"/>
<sp:loop collection="_events" item="it">
<tt><sp:print name="it.sp_date"/></tt> <sp:print name="it.name"/><br>
</sp:loop>
</sp:loop>