De:TSref/split

From TYPO3Wiki

Jump to: navigation, search
TSref/split
Translations info
An english page for every translation.
All pagenames in english.

  en       de   nl   fr   ja   zh  

TypoScript TypoScript Functions

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

+optionSplit

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

+optionSplit

Defines a wrap for each item.

[tsref:->split]

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>
 }
}
Personal tools