Collection (SP-Tag): Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
Zeile 9: Zeile 9:
 
Mit Hilfe von <code>sp:collection</code> können Listen erzeugt und verändert werden. Listen können beliebige Objekte enthalten. Je nach angegebener Aktion können Listenelemente hinzugefügt, ersetzt oder gelöscht werden.
 
Mit Hilfe von <code>sp:collection</code> können Listen erzeugt und verändert werden. Listen können beliebige Objekte enthalten. Je nach angegebener Aktion können Listenelemente hinzugefügt, ersetzt oder gelöscht werden.
  
Listen können erzeugt werden, indem die einzelnen Einträge über die <code>action</code> <code>add</code>, bzw. <code>addAll</code> hinzugefügt werden. Listen können aber auch über Suchabfragen mit dem Attribut <code>query</code> oder den Attribut <code>object</code> (wenn ein [[QueryInformation]]-Objekt übergeben wird) erzeugt werden.
+
Listen können erzeugt werden, indem die einzelnen Einträge über die <code>action</code> <code>add</code>, bzw. <code>addAll</code> hinzugefügt werden. Listen können aber auch über Suchabfragen mit dem Attribut <code>query</code> oder dem Attribut <code>object</code> (wenn ein [[QueryInformation]]-Objekt übergeben wird) erzeugt werden.
  
  
Zeile 86: Zeile 86:
 
:Aktion, die ausgeführt werden soll. Es existieren die Aktionen <code>add</code>, <code>addAll</code>, <code>remove</code>, <code>clear</code>, <code>new</code>, <code>replace</code>, <code>removeFirst</code>, <code>removeLast</code> und <code>unique</code>.
 
:Aktion, die ausgeführt werden soll. Es existieren die Aktionen <code>add</code>, <code>addAll</code>, <code>remove</code>, <code>clear</code>, <code>new</code>, <code>replace</code>, <code>removeFirst</code>, <code>removeLast</code> und <code>unique</code>.
 
:;add
 
:;add
::Fügt ein Element an das Ende der Liste. Ist ein <code>index</code> angegeben, so wird das Element an dieser Position eingefügt. Das ursprüngliche Elemente und alle nachfolgenden Elemente werden eine Position weiter geschoben.
+
::Fügt ein Element am Ende der Liste ein. Ist ein <code>index</code> angegeben, so wird das Element an dieser Position eingefügt. Das ursprüngliche Elemente und alle nachfolgenden Elemente werden eine Position weiter geschoben.
 
:;addAll
 
:;addAll
::Mit dieser Aktion können mehrere Elemente der Liste hinzugefügt werden. Dazu muß <code>object</code> vom Typ [[Collection]] sein.
+
::Mit dieser Aktion können mehrere Elemente der Liste hinzugefügt werden. Dazu muss <code>object</code> vom Typ [[Collection]] sein.
 
:;remove
 
:;remove
 
::Löscht ein Element aus der Liste. Ist <code>index</code> angegeben, wird das Element an der Index-Position gelöscht und alle nachfolgenden Elemente rutschen eine Position nach oben. Ist <code>object</code>  bzw. <code>value</code> angegeben, wird das Element in der Liste gesucht und gelöscht.
 
::Löscht ein Element aus der Liste. Ist <code>index</code> angegeben, wird das Element an der Index-Position gelöscht und alle nachfolgenden Elemente rutschen eine Position nach oben. Ist <code>object</code>  bzw. <code>value</code> angegeben, wird das Element in der Liste gesucht und gelöscht.
Zeile 117: Zeile 117:
  
 
;<code>publisher</code>
 
;<code>publisher</code>
:Wird der Collection-Tag in Verbindung mit Suchabfragen verwendet (durch <code>query</code> oder <code>object</code>), ist ein Publikationsbereich erforderlich, mit der die Suchabfrage ausgeführt werden soll. Mit diesem Attribute können ein oder mehrere Publikationsbereiche angegeben werden (durch Kommata getrennt). Entweder werden die Publikationsbereiche durch ihren Anchor angegeben, oder folgende Schlüsselwörter verwendet:
+
:Wird der Collection-Tag in Verbindung mit Suchabfragen verwendet (durch <code>query</code> oder <code>object</code>), ist ein Publikationsbereich erforderlich, mit der die Suchabfrage ausgeführt werden soll. Mit diesem Attribut können ein oder mehrere Publikationsbereiche angegeben werden (durch Kommata getrennt). Entweder werden die Publikationsbereiche durch ihren Anchor angegeben, oder folgende Schlüsselwörter verwendet:
 
:;current
 
:;current
 
::Der aktuelle Publikationsbereich. Dieser steht im <code>out</code>- und <code>preview</code>-Modus zur Verfügung.
 
::Der aktuelle Publikationsbereich. Dieser steht im <code>out</code>- und <code>preview</code>-Modus zur Verfügung.
Zeile 128: Zeile 128:
  
 
;<code>locale</code>
 
;<code>locale</code>
:Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachiger Variablen.
+
:Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachigen Variablen.
  
 
;<code>scope</code>
 
;<code>scope</code>
Zeile 170: Zeile 170:
 
<noinclude>
 
<noinclude>
 
[[Category:SP-Tags]]
 
[[Category:SP-Tags]]
[[Category:Qualität_der_Sprache_prüfen]]
 
 
[[Category:Qualität_des_Codes_prüfen]]
 
[[Category:Qualität_des_Codes_prüfen]]
 
[[Category:Beispiel_überarbeiten_testen]]
 
[[Category:Beispiel_überarbeiten_testen]]
 
</noinclude>
 
</noinclude>

Version vom 11. Februar 2009, 15:50 Uhr

Name

<sp:collection> - Erzeugt oder ändert eine Liste

Syntax

<sp:collection name="variable" action="add" value="come back at ${myTime}" index="2" />

Beschreibung

Mit Hilfe von sp:collection können Listen erzeugt und verändert werden. Listen können beliebige Objekte enthalten. Je nach angegebener Aktion können Listenelemente hinzugefügt, ersetzt oder gelöscht werden.

Listen können erzeugt werden, indem die einzelnen Einträge über die action add, bzw. addAll hinzugefügt werden. Listen können aber auch über Suchabfragen mit dem Attribut query oder dem Attribut object (wenn ein QueryInformation-Objekt übergeben wird) erzeugt werden.


(Ab Version 2.0.3)

Werte können über die Attribute value oder object gesetzte werden. Alternativ ist es auch möglich den Wert im Body des Tags zu setzten. Hierbei wird zunächst der Body ausgeführt und das Ergebnis verwendet

  <sp:collection name="family" action="add"><sp:print name="father"/></sp:collection>

Attribute

Name Type Required Default ab IES Version
name Variable Ja None 1
action Text Ja außer für query None 1
value Text Ja oder object oder im Body des Tags, für add und replace None 1
object Attribute Ja oder value oder im Body des Tags, für add und replace None 1
index Expression Ja, für remove und replace None 1
query Query Nein None 1
publisher Text Nein auto 1
locale Locale Nein None 1
scope Scope Nein request 1
name
Name der Liste.
action
Aktion, die ausgeführt werden soll. Es existieren die Aktionen add, addAll, remove, clear, new, replace, removeFirst, removeLast und unique.
add
Fügt ein Element am Ende der Liste ein. Ist ein index angegeben, so wird das Element an dieser Position eingefügt. Das ursprüngliche Elemente und alle nachfolgenden Elemente werden eine Position weiter geschoben.
addAll
Mit dieser Aktion können mehrere Elemente der Liste hinzugefügt werden. Dazu muss object vom Typ Collection sein.
remove
Löscht ein Element aus der Liste. Ist index angegeben, wird das Element an der Index-Position gelöscht und alle nachfolgenden Elemente rutschen eine Position nach oben. Ist object bzw. value angegeben, wird das Element in der Liste gesucht und gelöscht.
clear
Löscht alle Elemente aus der Liste.
new
Erzeugt eine neue leere Liste.
replace
Ersetzt ein Element der Liste. index gibt hierbei die Position des Elements an, das durch object bzw. value ersetzt werden soll.
removeFirst
Löscht das erste Element der Liste.
removeLast
Löscht das letzte Element der Liste.
unique
Entfernt alle mehrfach vorkommenden Elemente aus der Liste.
value
Ein Text, der mit der Liste verarbeitet werden soll.
object
Ein Objekt das mit der Liste verarbeitet werden soll. Ist object vom Typ QueryInformation, so gilt das gleiche wie beim Attribut query.
index
Listen-Position mit der eine Aktion ausgeführt werden soll.
query
Fügt in die Collection die Ergebnisse der übergebenen Suchabfrage ein. Ist dieses Attibut gesetzt, ist kein action nötig. Die Aktion entspricht einem addAll. Es kann jedoch eine andere Aktion angegeben werden.
publisher
Wird der Collection-Tag in Verbindung mit Suchabfragen verwendet (durch query oder object), ist ein Publikationsbereich erforderlich, mit der die Suchabfrage ausgeführt werden soll. Mit diesem Attribut können ein oder mehrere Publikationsbereiche angegeben werden (durch Kommata getrennt). Entweder werden die Publikationsbereiche durch ihren Anchor angegeben, oder folgende Schlüsselwörter verwendet:
current
Der aktuelle Publikationsbereich. Dieser steht im out- und preview-Modus zur Verfügung.
ignore
Ignoriert die Publikationsbereiche und liefert die Treffer unabhängig davon, ob sie publiziert sind oder nicht.
all
Alle Publikationsbereiche des Mandanten.
auto
Entspricht im out- und preview-Modus dem Schlüsselwort current und im in-Modus ignore.
locale
Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachigen Variablen.
scope
Namensraum, in dem die Variable definiert ist. Für diesen Tag ist der Page- und Request-Scope möglich (page, request).

Beispiele

Eine Liste von Strings erstellen

Template Quelltext

<sp:collection name="myList" action="add" value="peter"/>
<sp:collection name="myList" action="add" value="paul"/>
<sp:collection name="myList" action="add" value="mary"/>

Zwei Listen zu einer Liste vereinen

Template Quelltext

<sp:collection name="family" action="add" value="father"/>
<sp:collection name="family" action="add" value="mother"/>
<sp:collection name="family" action="add" value="sister"/>
<sp:collection name="family" action="add" value="brother"/>

<sp:collection name="friends" action="add" value="girl friend"/>
<sp:collection name="friends" action="add" value="boy friend"/>

<sp:collection name="nice_people" action="addAll" object="family"/>
<sp:collection name="nice_people" action="addAll" object="friends"/>

Suchabfrage ausführen

Template Quelltext

<sp:collection name="queryResult" query="infolevel = 'content'"/>