CalendarSheet (SP-Tag): Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
K (hat „Sp:calendarsheet“ nach „CalendarSheet (SP-Tag)“ verschoben)
 
(15 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<!--
 
Beim Anlegen einer neuen Tagbeschreibung bitte zuerst
 
eine Seite mit dem Namen des Tags in der Schreibweise
 
 
sp:tagname bzw. spt:tagname
 
 
anlegen. Dann diese Seite verschieben nach
 
 
Tagname (SP-Tag) bzw. Tagname (SPT-Tag)
 
 
Hierdurch kann man immer einen Tag über seine reguläre
 
Schreibweise referenzieren und findet zudem den Tag in
 
der Tag-Referenz alfabetisch einsortiert.
 
 
Diesem Kommentar bitte bei der Tagbeschreibung entfernen.
 
-->
 
 
 
==Name==
 
==Name==
<sp:xxx> - xxx-Tag
+
<sp:calendarsheet> - CalendarSheet-Tag zur Verwaltung eines [[CalendarSheet]]-Objektes
  
 
==Syntax==
 
==Syntax==
 
<source lang="xml">
 
<source lang="xml">
<sp:xxx name="variable" encoding="html"/>
+
<sp:calendarsheet name="variable" action="new" from="" to=""/>
 
</source>  
 
</source>  
  
 
==Beschreibung==
 
==Beschreibung==
xxx
+
Dieser Tag legt ein [[CalendarSheet]]-Objekt an und liefert Funktionen zum Befüllen. Ein [[CalendarSheet]] ist ein Object, welches [[Date|Daten]] 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|CalendarSheets]] erfolgt dann einfach über eine Loop über alle Tage des genannten Zeitraums. Es braucht nicht jeder Tag über eine einzelne Suchabfrage ausgewertet werden.
  
 
==Attribute==
 
==Attribute==
{| class="prettytable"
+
{| class="prettytable sortable"
 
|- class="hintergrundfarbe1"
 
|- class="hintergrundfarbe1"
 
! Name || Type || Required || Default || ab IES Version
 
! Name || Type || Required || Default || ab IES Version
 
|-
 
|-
| <code>xxx</code>
+
| <code>name</code>
 
| [[Attribute]]
 
| [[Attribute]]
 
| Ja
 
| Ja
 
| None
 
| None
| 1
+
| 2
 
|-
 
|-
| <code>xxx</code>
+
| <code>action</code>
 
| [[Text]]
 
| [[Text]]
| Nein
+
| Ja
 +
| None
 +
| 2
 +
|-
 +
| <code>value</code>
 +
| [[Text]]
 +
| Ja oder object bzw. date
 +
| None
 +
| 2
 +
|-
 +
| <code>object</code>
 +
| [[Object]]
 +
| Ja oder value bzw. date
 +
| None
 +
| 2
 +
|-
 +
| <code>date</code>
 +
| [[Date]]
 +
| Ja oder object bzw. value
 +
| None
 +
| 2
 +
|-
 +
| <code>from</code>
 +
| [[Date]]
 +
| Ja
 +
| None
 +
| 2
 +
|-
 +
| <code>to</code>
 +
| [[Date]]
 +
| Ja
 
| None
 
| None
| 1
+
| 2
 
|-
 
|-
| <code>xxx</code>
+
| <code>mode</code>
| [[Expression]]
+
| [[Text]]
 
| Nein
 
| Nein
| None
+
| allDays
| 1
+
| 2.0.4
 
|-
 
|-
| <code>xxx</code>
+
| <code>scope</code>
| [[Locale]]
+
| [[Text]]
 
| Nein
 
| Nein
 
| None
 
| None
| 1
+
| 2
 
|}
 
|}
  
;<code>xxx</code>
+
;<code>name</code>
:xxx.
+
:Name über den das [[CalendarSheet]] angesprochen werden kann.
  
;<code>xxx</code>
+
;<code>action</code>
:xxx.
+
:Aktion, die ausgeführt werden soll. Es existieren die Aktionen <code>add</code>, <code>clear</code> und <code>new</code>.
  
==Beispiele==
+
;<code>value</code>
 +
:Zu setzendes [[CalendarInformation]]-Objekt. Dieser wird immer als Zeichenkette ausgewertet. Das Element, zu dem das [[CalendarInformation]] gehört (<code>root</code>) wird automatisch als Referenz verwendet.
 +
 
 +
;<code>object</code>
 +
:Evaluiert das Attribut und setzt das entsprechende [[CalendarInformation]]-Objekt. Im Gegensatz zu <code>value</code> wird hier das Objekt direkt erwartet und nicht der Text. Das Element, zu dem das [[CalendarInformation]] gehört (<code>root</code>) wird automatisch als Referenz verwendet.
 +
 
 +
;<code>date</code>
 +
:Zu setzender Wert. Hiermit kann direkt ein einzelnes [[Date|Datum]] angegeben werden. Über die Attribute <code>value</code> bzw. <code>object</code> kann die zugehörige Referenz angegeben werden.
 +
 
 +
;<code>from</code>
 +
:Über diesen Parameter wird der zeitliche Rahmen des CalendarSheets festgelegt.
  
===Beispiel A===
+
;<code>to</code>
 +
:Über diesen Parameter wird der zeitliche Rahmen des CalendarSheets festgelegt.
  
Template Quelltext
+
;<code>mode</code>
<source lang="xml">
+
:Über diesen Parameter wird Modus angegeben, mit dem ein Termin eingefügt werden soll. Gültige Werte sind: <code>allDays</code> (alle Tage einfügen), <code>startDays</code> (nur den Start-Tag, sofern dieser innerhalb des angegebenen Zeitraums liegt einfügen) und <code>firstDays</code> (den ersten gültigen Tag einfügen)
xxx
 
</source>
 
  
Ausgabe
+
;<code>scope</code>
<source lang="text">
+
:[[Scope|Namensraum]], in dem die Variable definiert ist. Für diesen Tag ist der Page- und Request-Scope möglich (<code>page</code>, <code>request</code>).
xxx
 
</source>
 
  
===Beispiel B===
+
==Beispiele==
  
Template Quelltext
+
CalendarSheet aufbauen
 
<source lang="xml">
 
<source lang="xml">
xxx
+
<%-- Ü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>
 
</source>
 
</source>
  
Ausgabe
+
CalendarSheet ausgeben
 
<source lang="text">
 
<source lang="text">
xxx
+
<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>
 
</source>
 
</source>
  
<!--
 
bitte die passenden Kategorien auswählen und Kommentar entfernen
 
--------------------------------------------------------------
 
 
<noinclude>
 
<noinclude>
 
[[Category:SP-Tags]]
 
[[Category:SP-Tags]]
[[Category:SPT-Tags]]
 
[[Category:Qualität_des_Inhalts_prüfen]]
 
[[Category:Qualität_der_Sprache_prüfen]]
 
[[Category:Qualität_des_Codes_prüfen]]
 
 
</noinclude>
 
</noinclude>
-->
 

Aktuelle Version vom 26. März 2009, 09:38 Uhr

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 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 CalendarSheets 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
mode Text Nein allDays 2.0.4
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 und new.
value
Zu setzendes CalendarInformation-Objekt. Dieser wird immer als Zeichenkette ausgewertet. Das Element, zu dem das CalendarInformation gehört (root) wird automatisch als Referenz verwendet.
object
Evaluiert das Attribut und setzt das entsprechende CalendarInformation-Objekt. Im Gegensatz zu value wird hier das Objekt direkt erwartet und nicht der Text. Das Element, zu dem das CalendarInformation gehört (root) wird automatisch als Referenz verwendet.
date
Zu setzender Wert. Hiermit kann direkt ein einzelnes Datum angegeben werden. Über die Attribute value bzw. object kann die zugehörige Referenz angegeben werden.
from
Über diesen Parameter wird der zeitliche Rahmen des CalendarSheets festgelegt.
to
Über diesen Parameter wird der zeitliche Rahmen des CalendarSheets festgelegt.
mode
Über diesen Parameter wird Modus angegeben, mit dem ein Termin eingefügt werden soll. Gültige Werte sind: allDays (alle Tage einfügen), startDays (nur den Start-Tag, sofern dieser innerhalb des angegebenen Zeitraums liegt einfügen) und firstDays (den ersten gültigen Tag einfügen)
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>