De:TSref/split
From TYPO3Wiki
| TSref/split |
|
||||
TypoScript TypoScript Functions
[edit]
split
Diese Funktion wird verwendet um den Inhalt anhand eines bestimmten Zeichens zu teilen (splitten) und die dadurch entstehenden Teile durch weitere Funktionen zu bearbeiten.
Diese Funktion wird Beispielsweise dafür verwendet um die Inhalt eines Content-Elements Tabelle in die einzelnen Zeilen und Tabellenzellen aufzuteilen.
Das erste Element bekommt den Index 0, der aktuelle Wert wird im register SPLIT_COUNT gespeichert.
| Property: | Data type: | Description: | Default: |
| token | str /stdWrap | string or character (token) used to split the value | |
| max | int /stdWrap | max number of splits | |
| min | int /stdWrap | min number of splits. | |
| returnKey | int /stdWrap | Instead of parsing the split result, just return this element of the index immediately. | |
| cObjNum | cObjNum | This is a pointer the array of this object ("1,2,3,4"), that should treat the items, resulting from the split. | |
| 1,2,3,4 | CARRAY /stdWrap | The object that should treat the value.
NOTE: The "current"-value is set to the value of current item, when the objects are called. See "stdWrap" / current. Example (stdWrap used): 1.current = 1 1.wrap = <B> | </B> Example (CARRAY used):
1 {
10 = TEXT
10.current = 1
10.wrap = <B> | </B>
20 = CLEARGIF
20.height = 20
}
| |
| wrap | wrap | Defines a wrap for each item. |
[tsref:->split]
[edit]
Beispiele
# Beispiel
20 = TEXT
# Der Inhalt des Feldes "bodytext" wird importiert (aus $cObj->data-array)
20.field = bodytext
20.split {
# Das Trennzeichen (char = 10 ist der Zeilenumbruch) wird definiert
token.char = 10
# Es wird festgelegt, welches Element verwendet werden soll
# Über optionSplit kann hier zwischen unterschiedlichen Elementen
# unterschieden werden. Ein Entsprechendes Element mit der Nummer muss definiert sein!
# An dieser Stelle wird die optionSplit Eigenschaft verwendet,
# es wird immer abwechselnd das Element 1 und dann das Element 2 zum Render verwendet
# dadurch kann z.B. die Hintergrundfarbe abwechselnd eingefärbt werden.
cObjNum = 1 || 2
# Das Element 1 wird definiert (das, auf welches sich cObjNum bezieht!)
# Und der Inhalt wird importiert.
1.current = 1
# Das Element wird gewrapt
1.wrap = <TR><TD valign="top"><IMG src="dot1.gif"></TD><TD valign="top"> | </TD></TR>
2.current = 1
2.wrap = <TR><TD valign="top"><IMG src="dot2.gif"></TD><TD valign="top"> | </TD></TR>
}
20.wrap = <TABLE border="0" cellpadding="0" cellspacing="3" width="368"> | </TABLE><BR>
# Dateien aus einem bestimmten Verzeichnis auslesen, anzeigen und verlinken page.100 = HTML # Verzeichnis, Dateityp usw. auswählen page.100.value.filelist = fileadmin/dateien/|jpg,jpeg|name| |1 # Wir bekommen eine komma-getrennte Liste mit den Dateinamen # wir benötigen die Split-Funktion um diese Elemente einzeln zu bearbeiten. page.100.value.split { token = , cObjNum = 1 1 { 10 = IMAGE # wir importieren den aktuellen Dateinamen (current) 10.file.import.current=1 # Anzeige nur mit 250px Breite 10.file.width = 250px # Zusätzlich wird ein Link erstellt, der auf die richtige Datei verlinkt. 10.stdWrap.typolink.parameter.current = 1 10.wrap = <div style="padding:10px;">|</div> } }
