Iterator (SPT-Tag)
Version vom 9. Juni 2008, 21:20 Uhr von Liebold (Diskussion | Beiträge) (hat „Spt:iterator“ nach „Iterator (SPT-Tag)“ verschoben)
Dieser Artikel bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf bitte mit ihn zu verbessern und entferne anschließend diese Markierung. |
Name
<spt:iterator> - Erzeugt Wiederholfelder
Syntax
<spt:iterator name="variable">
...
</spt:iterator>
Beschreibung
Der spt:iterator-Tag ermöglicht die wiederholte Ein- und Ausgabe von Input-Tags. Ein mit diesem Tag umschlossener Template-Abschnitt kann bei der Eingabe beliebig oft wiederholt und editiert werden. Aus diesen Eingaben wird eine Liste erstellt, die mit den sp:tags für Listen durchlaufen werden kann (z.B. sp:loop, s. Beispiel). Iterationen können an beliebigen Stellen hinzugefügt oder gelöscht werden. Die Reihenfolge der Iterationen ist veränderbar.
Erläuterungen der Schaltflächen:
- ans Ende verschieben
- an dieser Stelle einfügen
- löschen
- vertauschen
- Reihenfolge invertieren
- an erste Position verschieben
Attribute
Name | Type | Required | Default | ab IES Version |
---|---|---|---|---|
name
|
Variable | Ja | None | 1 |
item
|
Variable | Nein | None | 1 |
name
- Name der Variablen, unter der die Liste auch für die Ausgabe erreichbar ist.
item
- Die in name angegebene Liste wird Element für Element durchlaufen. Mit dem, in diesem Attribut angegebenen Namen kann auf das aktuelle Element der Liste zugegriffen werden.
Beispiele
Artikel mit beliebig vielen Absätzen
Template Quelltext
<%-- Beginn Eingabe --%>
<sp:io type="in">
Artikelüberschrift:<br>
<sp:text name="headline"/><br>
<%-- Beginn iterierter Abschnitt --%>
<spt:iterator name="iterate" item="it">
Absatzüberschrift:<br>
<spt:text name="bodyhead"/><br>
Absatztext:<br>
<spt:smarteditor name="body" cols="50" rows="10"/>
</spt:iterator>
<%-- Ende iterierter Abschnitt --%>
</sp:io>
<%-- Ende Eingabe --%>
<%-- Beginn Ausgabe --%>
<sp:io type="out">
<h3><sp:print name="headline"/></h3><br>
<%-- Beginn Ausgabe iterierter Abschnitt --%>
<sp:loop collection="iterate" item="it">
<p>
<h4><sp:print name="it.index"/>: <sp:print name="it.bodyhead"/></h4>
<sp:print name="it.body"/>
</p>
</sp:loop>
<%-- Ende Ausgabe iterierter Abschnitt --%>
</sp:io>
<%-- Ende Ausgabe --%>