f:format.*
f:format.bytes
TYPO3 6.2Dieser ViewHelper teilt Bytes (Dateigröße) solange durch 1024, bis das Resultat max. 3-stellig ist oder das Maximum an verfügbaren Einheiten erreicht ist.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| value | Die Dateigröße in Bytes. Muss eine Ganzzahl sein. | |
| decimals | Angabe der Nachkommastellen | 0 |
| decimalSeparator | Zeichen für die Trennung der Nachkommastellen | . |
| thousandsSeparator | Zeichen, um die Tausenderstellen hervorzuheben | , |
| units | Angabe der Einheiten aufsteigend. Teilung findet in 1024er Schritten statt. Der hier aufgeführte Standardwert kommt aus einer englischen Übersetzungsdatei und kann somit je nach Sprache differenzieren. | B,KB,MB,GB,TB,PB,EB,ZB,YB |
Beispiel: Nachkommastellen
Beispiel: Array Notation
Hier seht ihr, dass der thousandsSeparator keine Auswirkung hat. Solange noch units zum Teilen verfügbar sind, findet der Parameter keine Anwendung.
Beispiel: Eigene Units
Durch die Reduzierung auf 4 units kann die value Angabe nur 4-mal durch 1024 geteilt werden. Dadurch wirkt sich der thousandsSeparator erstmalig aus.
f:format.case
TYPO3 7.2 typo3fluid/fluid 2.10.0
Schreibt einen Text in Groß- oder Kleinschreibung, aber auch Wortanfänge können groß- oder kleingeschrieben werden.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| value | Der Text oder die Wörter, die groß- oder kleinzuschreiben sind. | |
| mode | Angabe eines Modus, wie der Text oder auch die Wörter zu schreiben sind. Siehe Tabelle Modus | upper |
Modus
| Parameter | Erklärung |
|---|---|
| lower | Der komplette Text aus value wird kleingeschrieben. |
| upper | Der komplette Text aus value wird großgeschrieben. |
| capital | Der Text aus value wird nur am Anfang großgeschrieben.. |
| uncapital | Der Text aus value wird nur am Anfang kleingeschrieben. |
| capitalWords | TYPO3 8.7 Alle Wörter im Text aus value werden am Anfang großgeschrieben. |
Beispiel
f:format.cdata
TYPO3 4.7 typo3fluid/fluid 1.0.6
Bei CDATA handelt es sich um einen Identifikator innerhalb vom XML, um dem XML-Parser mitzuteilen, dass der nachfolgende Text nicht als XML zu interpretieren ist. Die Sprachdateien in TYPO3 sind eine XML-Struktur. Wenn die Übersetzungen HTML, was auch eine XML-Struktur ist, enthalten, dann können diese HTML-Tags zu Fehlern führen.
Oder ein RSS-Feed. Dieser ist auch eine XML-Struktur. Wenn da Inhaltselemente ausgegeben werden, dann können diese auch HTML beinhalten und die XML-Ausgabe stören und Fehler provozieren.
Solltet ihr mit Fluid-Template solche XML-Strukturen bauen, dann verwendet bitte diesen ViewHelper. Es findet keine Konvertierung (escapen) des Inhaltes statt. Der Inhalt wird 1 zu 1 verwendet und nur in <![CDATA[Euer Text mit <b>HTML</b>]]> eingewickelt.
Parameter
| Parameter | Erklärung |
|---|---|
| value | Der Text mit möglicherweise enthaltenen HTML-Tags, der für eine XML-Ausgabe in CDATA-Tags eingewickelt werden soll. |
Beispiel
f:format.crop
TYPO3 4.3Schneidet den Text zwischen öffnendem und schließendem Tag nach X Zeichen an geeigneter Stelle. Der abgeschnittene Text wird mit dem Wert aus append ersetzt. Dieser ViewHelper wird gerne verwendet, um lange Texte für Teaser anzupassen.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| maxCharacters | Maximale Anzahl Zeichen, nach denen der Text zwischen öffnendem und schließendem Tag abgeschnitten werden soll. | |
| append | Zeichenkette, die dem Leser signalisiert, dass hier der Text abgeschnitten wurde. | … -> … |
| respectWordBoundaries | Wenn aktiv, dann wird verhindert, dass mitten in einem Wort ein Schnitt stattfindet. Der Schnitt findet dann bei der nächstmöglichen freien Stelle vor dem Wort statt. | true |
| respectHtml | Wenn aktiv, dann wird verhindert, dass enthaltene HTML Tags im Text nicht beschnitten werden. Der Schnitt findet dann bei der nächstmöglichen Stelle vor dem HTML Tag statt. | true |
Beispiel: Wörter respektieren
Da respectWordBoundaries standardmäßig aktiv ist, findet hier keine Trennung im Wort werden statt, sondern in dem Leerraum davor.
Beispiel: Im Wort trennen
Beispiel: Im HTML trennen
Wenn respectHtml deaktiviert wird, dann wird der komplette Text als reiner Text interpretiert (Klasse: \TYPO3\CMS\Core\Text\TextCropper).
Beispiel: Nicht im HTML trennen
Wenn respectHtml aktiviert ist, dann bezieht sich maxCharacters nur auf den reinen Text. Jegliches HTML wird für die Zählung nicht berücksichtigt (Klasse: \TYPO3\CMS\Core\Text\HtmlCropper). Jeder einzelne HTML-Tag und jeder Text werden in einzelne Abschnitte aufgeteilt. Ein schönes Bild und Nicht wahr? sind also individuelle Abschnitte, die sich nicht kennen.
Im ersten Crop befindet sich der 18te Buchstabe innerhalb des Wortes Nicht. Da respectWordBoundaries aktiv ist, wird die nächste freie Stelle vor dem Wort gesucht. Da es sich hier um das erste Wort in diesem Abschnitt handelt und der HtmlCropper nichts von dem anderen Abschnitt weiß, würde er keine Ausgabe generieren. Um das zu verhindern, schneidet er trotz aktivierten respectWordBoundaries innerhalb des Wortes.
Im zweiten Crop befindet sich der 24te Buchstabe innerhalb des zweiten Wortes wahr des zweiten Abschnittes. Da respectWordBoundaries aktiv ist, wird die nächste freie Stelle vor dem Wort gesucht. Der HtmlCropper findet die freie Stelle und schneidet sauber zwischen den beiden Wörtern.
Im dritten Crop befindet sich der 24te Buchstabe auch innerhalb des zweiten Wortes wahr des zweiten Abschnittes. Da respectWordBoundaries nicht aktiv ist, wird innerhalb des Wortes wahr getrennt.
f:format.currency
TYPO3 4.3Mit diesem ViewHelper könnt ihr Zahlen als Währung darstellen lassen. Doch zwei wichtige Informationen:
Übergebt ihr an diesen ViewHelper einen leeren Text, dann benötigt die in diesem ViewHelper befindliche Methode PHP:number_format() knapp 23 Millisekunden. Liefert ihr dieser Methode stattdessen direkt ein 0.00 ist die Methode in 1-2 Millisekunden durch. Das kann gerade bei größeren Listen Performance-Problemen entgegenwirken.
Wichtig
Ihr dürft diesem ViewHelper keine Zahlen mit einem Komma als Dezimaltrenner mitgeben. Schaut euch dazu die Beispiele unten an.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| currencySign | Das Währungskennzeichen wie $ oder €. | |
| decimalSeperator | Zeichen zum Einleiten der Nachkommastellen. | , |
| thousandsSeperator | Zeichen zum Hervorheben der Tausenderstellen. Standard: | . |
| prependCurrency | TYPO3 4.6 Wenn aktiviert, wird das Währungskennzeichen dem Betrag vorangestellt. Interessant für Währungen in Dollar. | false |
| separateCurrency | TYPO3 4.6 Wenn aktiv, wird zwischen Währungskennzeichen und Betrag ein Leerzeichen eingefügt. | true |
| decimals | TYPO3 6.1 Anzahl der Nachkommastellen. | 2 |
| useDash | TYPO3 9.4 Wenn aktiviert, dann werden bei vollen Beträgen bzw. wenn alle Nachkommastellen 0 sind, diese durch einen Bindestrich ersetzt. | false |
Beispiel
f:format.date
TYPO3 4.3Modifiziert und gibt ein Datum in einem vorgegebenen Format aus.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| date | Entweder ein Datum vom Typ \DateTime oder ein Wert, der in ein \DateTime Objekt konvertiert werden kann (z.B. 17.01.1979). Es kann auch der Timestamp (Sekunden seit 01.01.1970) angegeben werden. Relative Angaben wie +2 months modifizieren das aktuelle Datum. Um relative Angaben auf ein anderes Datum anzuwenden, muss das Datum in base definiert werden. | |
| format | Formatvorgaben für die Ausgabe des Datums. DateTime Formatierungen werden intern mit PHP:date() formatiert, können jedoch nur englische Ausgaben (Sunday, …).PHP 8.1 strftime Formatierungen werden intern mit PHP:strftime() formatiert und können auch mehrsprachige Ausgabe erzeugen (Sonntag, …). Die Unterstützung für strftime ist in TYPO3 13 noch gegeben, könnte jedoch mit TYPO3 14 entfernt werden. | Y-m-d |
| pattern | TYPO3 12.3 Formatvorgaben für die Ausgabe des Datums. Da PHP:date() nur englische Ausgaben kann und PHP:strftime() veraltet ist, wird PHP:IntlDateFormatter diese ersetzen. Dieser Formatter benötigt die Formatvorgaben jedoch im Unicode ICO Format. Wenn angegeben, wird format nicht mehr berücksichtigt. | |
| locale | TYPO3 12.3 Angabe der zu verwendenden Sprache in dem Format de_AT, fr oder en_US.utf8. Wird nur berücksichtigt, wenn auch pattern benutzt wird. | |
| base | TYPO3 7.4 Um in date mit relativen Formaten arbeiten zu können, muss das zugrundeliegende Datum hier angegeben werden. Akzeptiert nur \DaTime Objekt oder Timestamp (Sekunden seit 01.01.1970) |
Beispiel: date
Wochentage und Monatsnamen werden in englischer Sprache ausgeben.
Beispiel: strftime
Wochentage und Monatsnamen werden in der Sprache ausgegeben, wie mit PHP:setlocale() konfiguriert.
Beispiel: Relative Formatierung
Mit relativen Formatierungen kann ein Datum modifiziert und anschließend formatiert werden..
Beispiel: Unicode ICU
Mit PHP 8.1 ist PHP:strftime veraltet. Um weiterhin mit übersetzten Wochentagen und Monatsnamen arbeiten zu können, muss mit pattern und locale gearbeitet werden. Im Beispiel werden dem aktuellen Datum 2 Wochen hinzugefügt.
f:format.html
TYPO3 4.3Schleust einen Text, der aus der Datenbank kommt, durch die angegebene TypoScript parseFunc Eigenschaft, um z.B. enthaltene Links wie t3://page?uid=1 vor der Ausgabe im Frontend in <a> Tags umzuwandeln. Bitte verwendet diesen ViewHelper immer dann, wenn ihr es mit Inhalten zu tun habt, die redaktionell erstellt wurden. parseFunc ist maßgeblich dafür verantwortlich unerlaubte HTML-Tags (wie <script>) aus den Inhalten zu entfernen oder zumindest die spitzen Klammern <> in >< umzuwandeln, um Schaden abzuwenden. Bitte passt lieber die Eigenschaften in der zugrundeliegenden parseFunc Eigenschaft an, anstatt Inhalte ungeprüft mittels f:format.raw ausgeben zu lassen.
Diesen ViewHelper bitte nur für das Frontend verwenden.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| parseFuncTSPath | Gebe hier den Pfad zur TypoScript parseFunc Eigenschaft an, die sich um das Aufbereiten des Texten kümmern soll. | lib.parseFunc_RTE |
| data | TYPO3 12.0 Falls gewünscht könnt ihr ein Array, einen Datensatz oder auch ein Domainmodel hier angeben, dessen Eigenschaften innerhalb der angegebenen parseFunc Eigenschaft mittels der TypoScript field Eigenschaft wieder abgefragt werden können. | |
| current | TYPO3 12.0 Befüllt die current Eigenschaft in Eurem TypoScript mit dem hier angegebenen Wert. Im TypoScript erhaltet ihr mit current = 1 Zugriff auf den Wert. Wenn gesetzt, ist currentValueKey ohne Funktion. | |
| currentValueKey | TYPO3 12.0 Gebt einen Array-Key oder die Domainmodel-Eigenschaft von der data Eigenschaft an, um den enthaltenen Wert in current zu überführen. Im TypoScript erhaltet ihr mit current = 1 Zugriff auf den Wert. | |
| table | TYPO3 12.0 Falls es sich bei data um einen Datensatz handelt, dann hier bitte den entsprechenden Tabellennamen mit angeben. Ist keine Pflichtangabe, aber hilft den zugrundeliegende ContentObjectRenderer vollständig auf die bevorstehende Aufgabe vorzubereiten | Empty String |
Beispiel
f:format.htmlentitiesDecode
TYPO3 4.6Im Text befindliche Zeichen wie: &, ", ', <, > werden mittels PHP:html_entity_decode() wieder in ihre vorherige, HTML interpretierbare Form, zurückkonvertiert: &, ", ', <, >.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| value | Der Text in dem sich die maskierten Zeichen befinden, die zurückkonvertiert werden sollen. | |
| keepQuotes | Einfache und doppelte Anführungsstriche werden standardmäßig nicht mit zurückkonvertiert. | false |
| encoding | Wir sind hier im Bereich TYPO3 und da sollte der Zeichensatz auf UTF-8 und nix anderes stehen. Sollte wieder erwartend ein anderer Zeichensatz gewünscht sein, kann dieser hier angegeben werden. Der Standardwert wird vom Installtool ausgelesen. | UTF-8 |
Beispiel
f:format.htmlentities
TYPO3 4.6Im Text befindliche Sonderzeichen wie: &, ", ', <, > und auch Umlaute wie ä, ö, ü werden mittels PHP:htmlentities() in ein HTML sicheres Format konvertiert: &, ", ', <, > und ä, ö, ü. Gerade diese spitzen Klammern <> könnten vom HTML Parser als Tags interpretiert werden oder das & als Trenner für einen URI-Parameter.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| value | Der Text mit den Zeichen, die in ein HTML sicheres Format zu konvertieren sind. | |
| keepQuotes | Einfache und doppelte Anführungsstriche werden standardmäßig nicht umgewandelt. | false |
| encoding | Wir sind hier im Bereich TYPO3 und da sollte der Zeichensatz auf UTF-8 und nix anderes stehen. Sollte wieder erwartend ein anderer Zeichensatz gewünscht sein, kann dieser hier angegeben werden. Der Standardwert wird vom Installtool ausgelesen. | UTF-8 |
| doubleEncode | Falls der Text bereits HTML sicherere Zeichen beinhaltet, werden diese erneut konvertiert. Dies führt zu &amp;amp;. Um erneutes Umwandeln zu verhindern, diese Option auf false setzen. | true |
Beispiel
f:format.htmlspecialchars
TYPO3 4.6 typo3fluid/fluid 1.0.6
Im Text befindliche Sonderzeichen wie: &, ", ', <, > werden mittels PHP:htmlspecialchars() in ein HTML sicheres Format konvertiert: &, ", ', <, >. Gerade diese spitzen Klammern <> könnten vom HTML Parser als Tags interpretiert werden oder das & als Trenner für einen URI-Parameter.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| value | Der Text mit den Zeichen, die in ein HTML sicheres Format zu konvertieren sind. | |
| keepQuotes | Einfache und doppelte Anführungsstriche werden standardmäßig nicht umgewandelt. | false |
| encoding | Wir sind hier im Bereich TYPO3 und da sollte der Zeichensatz auf UTF-8 und nix anderes stehen. Sollte wieder erwartend ein anderer Zeichensatz gewünscht sein, kann dieser hier angegeben werden. Der Standardwert wird vom Installtool ausgelesen. | UTF-8 |
| doubleEncode | Falls der Text bereits HTML sicherere Zeichen beinhaltet, werden diese erneut konvertiert. Dies führt zu &amp;amp;. Um erneutes Umwandeln zu verhindern, diese Option auf false setzen. | true |
Beispiel
f:format.json
TYPO3 8.6 typo3fluid/fluid 2.10.0
Nimmt jedweden Wert entgegen und gibt in als JSON zurück.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| value | Der Text, die Zahl, das Objekt, was auch immer in JSON umgewandelt werden soll. | |
| forceObject | Üblicherweise wird zunächst versucht den Wert aus value als Array im JSON zu repräsentieren []. Wenn aktiviert, werden Arrays im JSON als Objekte ausgegeben {}. | false |
Beispiel
Standardmäßig werden alle Anführungszeichen maskiert in ". Das ist hervorragend, um dieses JSON in HTML Attributen direkt weiterzuverwenden. Für die Weiterverarbeitung als RestAPI oder PHP:json_decode() kann dieses JSON nicht verwendet werden und muss mittels f:format.raw weiter aufbereitet werden.
f:format.nl2br
TYPO3 4.3 typo3fluid/fluid 2.10.0
Dieser ViewHelper besitzt keine Parameter. Den umzuwandelnden Inhalt bezieht er sich aus dem Text zwischen den Tags. Sinnvoll wird dieser ViewHelper beim Anzeigen von Inhalten aus <textarea> Tags. Denn hier wurden die Zeilenumbrüche mit ENTER (CHR(10)) realisiert. Im HTML sind diese Umbrüche aber völlig egal und würde den Text einfach hintereinander weg anzeigen. Um das zu verhindern, könnt ihr diesen ViewHelper verwender. Er konvertiert alle CHR(10)-Zeilenumbrüche in <br> Tags und so werden Zeilenumbrüche auch im Browser wieder richtig dargestellt.
Beispiel
f:format.number
TYPO3 4.3 typo3fluid/fluid 2.10.0
Mit diesem ViewHelper könnt ihr Zahlen formatieren. Er arbeitet ähnlich dem f:format.currency ViewHelper.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| decimals | Anzahl der Nachkommastellen. | 2 |
| decimalSeperator | Zeichen zum Einleiten der Nachkommastellen. | , |
| thousandsSeperator | Zeichen zum Hervorheben der Tausenderstellen. Standard: | . |
Beispiel
Wie ihr seht, wird sogar automatisch aufgerundet.
f:format.padding
TYPO3 4.3Der angegebene Text wird so lange mit dem Abstandszeichen aufgefüllt, bis dass die gewünschte Länge aus padLength erreicht ist. Das ist gerade bei tabellarischen Konsolenausgaben interessant, damit Werte aus einer Spalte immer exakt untereinander stehen.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| value | TYPO3 7.1 Das Wort oder der Text, dem Abstandszeichen hinzugefügt werden sollen | |
| padLength | Wenn der text aus value kleiner ist als die hier angegebene Anzahl Zeichen, dann wird der Text solange mit Abstandszeichen aus padString aufgefüllt, bis die gewünschte Anzahl Zeichen erreicht ist. | |
| padString | Angabe des Abstandszeichen mit dem aufgefüllt werden soll. | Leerzeichen |
| padType | TYPO3 4.6 Die Abstandszeichen können rechts right, links left oder von beiden Seiten aus both angefügt werden. | right |
Beispiel
f:format.printf
TYPO3 4.3 typo3fluid/fluid 1.0.6
Mit diesem ViewHelper können Platzhalter in einem Text mit den Werten aus dem Array ersetzt werden. In diesem Rahmen ist es auch möglich einen Text in eine Zahl umzuwandeln, oder Fließkommazahlen mit führenden Nullen aufzufüllen.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| value | Der Text mit den Formatierungszeichen, die mit den Werten aus arguments ersetzt werden sollen. | null |
| arguments | Ein Array mit Werten, die in die Formatierungszeichen aus value überführt werden sollen. | Leeres Array |
Beispiel
Mit %1, %2 und %3 wird der jeweilige Wert aus dem Array geholt. Da es unterschiedliche Datentypen gibt, müssen wir jedem Wert noch mitteilen, um was für einen Datentyp es sich handelt. Dabei steht $s für string also Text. $d für einen Zahlenwert, der auch ein Vorzeichen enthalten darf und wie ihr evtl. schon gesehen habt, habe ich die Zahl 4 als Text deklariert, gebe sie aber als Typ Integer an den Text weiter.
f:format.raw
TYPO3 4.6 typo3fluid/fluid 1.0.6
Es gibt viele ViewHelper, die Inhalte vor der Ausgabe durch PHP:htmlspecialchars() schicken, um das Interpretieren diverser HTML Zeichen zu unterbinden. Aus Sicherheitsgründen macht das Sinn und verhindert unliebsames Ausführen von <script> Tags. In einigen Fällen kann die Verwendung von f:format.raw trotz dem Sinn machen. Im Falle von f:format.json kann das Resultat nur innerhalb von HTML Attributen weiterverwendet werden. Für eine Ausgabe auf der Webseite oder direkte Weiterverwendung durch PHP:json_decode() muss das Ergebnis zusätzlich durch f:format.raw() geführt werden. Siehe Beispiel beim json ViewHelper.
Parameter
| Parameter | Erklärung |
|---|---|
| value | Der Text, der unverändert ausgegeben werden soll |
Beispiel
f:format.stripTags
TYPO3 4.6 typo3fluid/fluid 2.10.0
Dieser ViewHelper entfernt sämtliche HTML-Tags aus einem Text.
Parameter
| Parameter | Erklärung |
|---|---|
| value | Der Text aus dem die HTML-Tags entfernt werden sollen |
| allowedTags | TYPO3 8.0 Standardmäßig werden gradenlos alle HTML Tags entfernt. Mit dieser Option könnt ihr eine Auswahl an Tags als Ausnahme deklarieren. |
Beispiel
f:format.trim
TYPO3 12.4 typo3fluid/fluid 2.10.0
Entfernt von außen jegliche Tabs, Leer- und Enter-Zeichen von einem Text. Alternativ können eigene Zeichen angegeben werden, die von einem Text äußerlich entfernt werden sollen.
Parameter
| Parameter | Erklärung | Standard |
|---|---|---|
| value | Der Text von dem rechts und/oder links die Zeichen aus characters entfernt werden sollen. | |
| characters | Komma separierte Liste von Zeichen, die vom value links und/oder rechts entfernt werden sollen. Der Standard false setzt characters intern auf folgende Werte: \t\n\r\0\x0B | false |
| side | Entfernt Zeichen von der linken Seite (left, start), von der rechten Seite (right, end) oder von beiden Seiten both | both |
Beispiel
f:format.urlencode
TYPO3 4.6 typo3fluid/fluid 2.10.0
In Texten und Firmennamen kommen immer wieder Sonderzeichen wie @, & oder % vor. Diese Zeichen sind nicht URL-sicher und müssen vor Verwendung in URIs durch diesen ViewHelper verarbeitet werden.
Parameter
| Parameter | Erklärung |
|---|---|
| value | Der Text, der für die Übergabe per Link vorbereitet werden soll |