Collection (SP-Tag)
Version vom 9. Juni 2008, 13:20 Uhr von Veltrup (Diskussion | Beiträge)
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.
Attribute
Name | Type | Required | Default | ab IES Version |
---|---|---|---|---|
name
|
Variablename | 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, remoceFirst, 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 List. Ist index angegeben, wird das Element an der Index-Position gelöscht und alle nachfolgenden Elemente rutschen eine Position na 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 Elementes an, das durchobject
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 Attributquery
.
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 einemaddAll
. Es kann jedoch eine andere Aktion angegeben werden.- current
- Der aktuelle Publikationsbereich. Dieser steht im out- und preview-Modus zur Verfügung.
- ignore
- Ignoriert die Publikationsberech 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-Modulsignore
.
publisher
- Wird der Collection-Tag in Verbindung mit Suchabfragen verwendet (durch query oder object), ist ein Publikationsbereicht erforderlich, mit der die Suchabfrage ausgeführt werden soll. Mit diesem Attribute können ein oder mehrer Publikationsbereiche angegeben werden (durch Kommata getrennt). Entweder werden die Publikationsbereiche durch ihren Anchor angegeben oder folgende Schlüsselwörter verwentet:
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ögiich (
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'"/>