Collection (SP-Tag)

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen

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 den Attribut object (wenn ein QueryInformation-Objekt übergeben wird) erzeugt werden.

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, für add und replace None 1
object Attribute Ja, 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 an das Ende der Liste. 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 muß 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 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:
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-Moduls ignore.
locale
Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachiger 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'"/>