Benutzer-Werkzeuge

Webseiten-Werkzeuge


typo3:about:functions:optionsplit

optionSplit

Mit dem optionSplit lassen sich mehrere Werte unterschiedlich formatieren. Hauptsächlich wird dies bei Menüs verwendet, aber auch mit der Funktion split kann man darauf zurückgreifen.

|*|zerlegt die Werte in maximal drei Teile.
|| kann diese Teile in weitere Unterteile (Subparts) zerlegen.

Zur Reihenfolge der Verarbeitung:

  • Die Reihenfolge bei den Hauptteilen ist Ende, Anfang, Mitte. Zuerst entfallen die mittleren Angaben, dann die vorderen. Im Zweifel werden also nur die Angaben aus dem letzten Teil des optionSplits genutzt.
  • Innerhalb der Subparts || hat am Anfang und in der Mitte der erste Eintrag Vorrang, am Ende wird zuerst der letzte Eintrag verwendet.
  • Bei mehr Werten als Angaben im optionSplit wird der mittlere Teil wiederholt. Gibt es Subparts im mittleren Teil, werden diese (von vorne ausgehend) abwechselnd wiederholt.

Wenn innerhalb des optionSplits das Pipe-Symbol als Wrap-Markierung weggelassen wird, fügt TYPO3 das optionSplit-Element hinten an den Wert an.

Beispiele

Über ein wrap wird den Beispielwerten ein span-Element mit Farbangabe sowie ein Komma zugewiesen:

wrap = <span style="color: XYZ">|,</span>

Drei Teile: je einmal Anfang und Ende, der mittlere Teil wird wiederholt

rot |*| orange |*| blau

<html>eins,zwei,drei,vier,fünf,sechs,sieben</html>

Drei Teile, alle mit Untergruppen


rot||orange |*| blau||grün |*| purple||magenta

<html>eins</html>

<html>eins,zwei</html>

<html>eins,zwei,drei</html>

<html>eins,zwei,drei,vier,fünf,sechs,sieben</html>


Kein Mittelteil, nur Anfang und Ende

Kein Leerzeichen zwischen den Trennern. Der letzte Subpart des Anfangs wird wiederholt.

rot||orange |*||*| blau||grün

<html>eins,zwei,drei</html>

<html>eins,zwei,drei,vier,fünf,sechs,sieben</html>


Leerer Mittelteil

Bei leerem Hauptteil wird für die entsprechenden Werte kein wrap übergeben. Im Beispiel bleiben die mittleren Werte schwarz und das Komma fehlt.

rot||orange |*| |*| blau||grün

<html>eins,zwei,dreivierfünfsechs,sieben</html>


Nur ein Hauptteil mit Subparts

Hier ist es wichtig, dass zwischen |*||*| kein Leerzeichen steht – sonst gilt dieser Teil der Anweisung als gesetzt (aber leer) und die Farben werden nicht auf alle Werte angewendet (siehe „Leerer Mittelteil“).

rot||orange||blau |*||*|

<html>eins,zwei</html>

<html>eins,zwei,drei,vier,fünf</html>

|*| rot||orange||blau |*|

<html>eins,zwei</html>

<html>eins,zwei,drei,vier,fünf</html>

|*||*| rot||orange||blau

<html>eins</html>

<html>eins,zwei</html>

<html>eins,zwei,drei,vier,fünf</html>


Nur Subparts, keine Trenner für Hauptparts

Zuweisung von links nach rechts. Der letzte Part wird wiederholt.

rot||orange||blau

<html>eins,zwei</html>

<html>eins,zwei,drei,vier,fünf</html>


Nur zwei Hauptteile

Bei zwei Hauptteilen gilt der Endpart als fehlend. Der rechte Teil gilt als Mittelteil und wird wechselnd wiederholt.

rot||orange |*| blau||grün

<html>eins,zwei,drei,vier,fünf,sechs,sieben</html>


optionSplit mit stdWrap.split

Die von split ausgegebenen Werte werden mit cObjNum nummeriert und mit optionSplit unterteilt. Anschließend werden die gewünschten Zuweisungen aufgeführt. -> Näheres zu 'split'

page = PAGE
page {
  10 = TEXT
  10.value = eins,zwei,drei,vier,fünf
  10.split {
    token = ,
    cObjNum = 1 |*| 2 |*| 3
    1.current = 1
    1.wrap = <span style="color:red">|,</span>
    2.current = 1
    2.wrap = <span style="color:orange">|,</span>
    3.current = 1
    3.wrap = <span style="color:blue">|</span>
  } 
}

<html> Ergebnis: eins,zwei,drei,vier,fünf </html>

typo3/about/functions/optionsplit.txt · Zuletzt geändert: 2017/12/05 21:37 von admin