f:format.*

f:format.bytes

TYPO3 6.2

Dieser 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

ParameterErklärungStandard
valueDie Dateigröße in Bytes. Muss eine Ganzzahl sein.
decimalsAngabe der Nachkommastellen0
decimalSeparatorZeichen für die Trennung der Nachkommastellen.
thousandsSeparatorZeichen, um die Tausenderstellen hervorzuheben,
unitsAngabe 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

<f:format.bytes decimals="2">23748596</f:format.bytes>
22.65 MB

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.

<f:variable name="filesize">8374832920384</f:variable>
{filesize -> f:format.bytes(decimals: 4, decimalSeparator: ',', thousandsSeparator: '.')}
7,6169 TB

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.bytes decimals="2" units="Bytes,KiloBytes,MegaBytes,GigaBytes">25987463422954872</f:format.bytes>
24,202,711.34 GigaBytes

f:format.case

TYPO3 7.2

Schreibt einen Text in Groß- oder Kleinschreibung, aber auch Wortanfänge können groß- oder kleingeschrieben werden.

Parameter

ParameterErklärungStandard
valueDer Text oder die Wörter, die groß- oder kleinzuschreiben sind.
modeAngabe eines Modus, wie der Text oder auch die Wörter zu schreiben sind. Siehe Tabelle Modusupper

Modus

ParameterErklärung
lowerDer komplette Text aus value wird kleingeschrieben.
upperDer komplette Text aus value wird großgeschrieben.
capitalDer Text aus value wird nur am Anfang großgeschrieben..
uncapitalDer Text aus value wird nur am Anfang kleingeschrieben.
capitalWordsTYPO3 8.7 Alle Wörter im Text aus value werden am Anfang großgeschrieben.

Beispiel

<f:format.case mode="upper">ich werde mal ganz groß rauskommen</f:format.case><br>
<f:format.case mode="lower">Ich fühle mich ERNIEDRIGT</f:format.case><br>
<f:format.case mode="capital">ich werde am Anfang großgeschrieben</f:format.case><br>
<f:format.case mode="uncapital">Nur am Anfang werd ich klein</f:format.case><br>
<f:format.case mode="capitalWords">aller anfang ist groß</f:format.case><br>
ICH WERDE MAL GANZ GROSS RAUSKOMMEN
ich fühle mich erniedrigt
Ich werde am Anfang großgeschrieben
nur am Anfang werd ich klein
Aller Anfang Ist Groß

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

ParameterErklärung
valueDer Text mit möglicherweise enthaltenen HTML-Tags, der für eine XML-Ausgabe in CDATA-Tags eingewickelt werden soll.

Beispiel

<event>
    <date>23.05.2024</date>
    <title>TYPO3 Camp</title>
    <bodytext><f:format.cdata>Ich freue mich <strong>riesig</strong> auf das TYPO3 Camp</f:format.cdata></bodytext>
</event>
<event>
    <date>23.05.2024</date>
    <title>TYPO3 Camp</title>
    <bodytext><![CDATA[Ich freue mich <strong>riesig</strong> auf das TYPO3 Camp]]></bodytext>
</event>

f:format.crop

TYPO3 4.3

Schneidet 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

ParameterErklärungStandard
maxCharactersMaximale Anzahl Zeichen, nach denen der Text zwischen öffnendem und schließendem Tag abgeschnitten werden soll.
appendZeichenkette, die dem Leser signalisiert, dass hier der Text abgeschnitten wurde.&hellip; -> …
respectWordBoundariesWenn 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
respectHtmlWenn 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.

<f:format.crop maxCharacters="14">Diesen Text werden wir jetzt kürzen</f:format.crop>
Diesen Text…

Beispiel: Im Wort trennen

<f:format.crop maxCharacters="14" respectWordBoundaries="false">Diesen Text werden wir jetzt kürzen</f:format.crop>
Diesen Text we…

Beispiel: Im HTML trennen

Wenn respectHtml deaktiviert wird, dann wird der komplette Text als reiner Text interpretiert (Klasse: \TYPO3\CMS\Core\Text\TextCropper).

<f:format.crop maxCharacters="36" respectHtml="false" respectWordBoundaries="true"><p>Ein schönes Bild</p><img src="#" width="128" height="128" title="nice" alt="sonne"><p>Nicht wahr?</p></f:format.crop>
<p>Ein schönes Bild</p><img src="#"&hellip;

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.crop maxCharacters="18" respectHtml="true" respectWordBoundaries="true"><p>Ein schönes Bild</p><img src="#" width="128" height="128" title="nice" alt="sonne"><p>Nicht wahr?</p></f:format.crop>
<f:format.crop maxCharacters="24" respectHtml="true" respectWordBoundaries="true"><p>Ein schönes Bild</p><img src="#" width="128" height="128" title="nice" alt="sonne"><p>Nicht wahr?</p></f:format.crop>
<f:format.crop maxCharacters="24" respectHtml="true" respectWordBoundaries="false"><p>Ein schönes Bild</p><img src="#" width="128" height="128" title="nice" alt="sonne"><p>Nicht wahr?</p></f:format.crop>
<p>Ein schönes Bild</p><img src="#" width="128" height="128" title="nice" alt="sonne"/><p>Ni&hellip;</p>
<p>Ein schönes Bild</p><img src="#" width="128" height="128" title="nice" alt="sonne"/><p>Nicht&hellip;</p>
<p>Ein schönes Bild</p><img src="#" width="128" height="128" title="nice" alt="sonne"/><p>Nicht wa&hellip;</p>

f:format.currency

TYPO3 4.3

Mit 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

ParameterErklärungStandard
currencySignDas Währungskennzeichen wie $ oder .
decimalSeperatorZeichen zum Einleiten der Nachkommastellen.,
thousandsSeperatorZeichen zum Hervorheben der Tausenderstellen. Standard:.
prependCurrencyTYPO3 4.6 Wenn aktiviert, wird das Währungskennzeichen dem Betrag vorangestellt. Interessant für Währungen in Dollar.false
separateCurrencyTYPO3 4.6 Wenn aktiv, wird zwischen Währungskennzeichen und Betrag ein Leerzeichen eingefügt.true
decimalsTYPO3 6.1 Anzahl der Nachkommastellen.2
useDashTYPO3 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.currency currencySign="$" prependCurrency="true" decimalSeparator="." thousandsSeparator=",">1122334455.66</f:format.currency>
$ 1,122,334,455.66

f:format.date

TYPO3 4.3

Modifiziert und gibt ein Datum in einem vorgegebenen Format aus.

Parameter

ParameterErklärungStandard
dateEntweder 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.
formatFormatvorgaben 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
patternTYPO3 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.
localeTYPO3 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.
baseTYPO3 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.

<f:format.date date="17.01.1979" format="l \d\e\n d F y"/><br>
<f:format.date date="285375600" format="l \d\e\n d F y"/><br>
{person.birthday -> f:format.date(format: 'l \d\e\n d F y')}
Wednesday den 17 January 1979
Wednesday den 17 January 1979
Wednesday den 17 January 1979

Beispiel: strftime

Wochentage und Monatsnamen werden in der Sprache ausgegeben, wie mit PHP:setlocale() konfiguriert.

<f:format.date date="17.01.1979" format="%A den %d %B %Y"/><br>
<f:format.date date="285375600" format="%A den %d %B %Y"/><br>
{person.birthday -> f:format.date(format: '%A den %d %B %Y')}
Mittwoch den 17 Januar 1979
Mittwoch den 17 Januar 1979
Mittwoch den 17 Januar 1979

Beispiel: Relative Formatierung

Mit relativen Formatierungen kann ein Datum modifiziert und anschließend formatiert werden..

<div>Aktuelles Datum + 2 Wochen</div>
<f:format.date date="+2 weeks" format="%A den %d %B %Y"/><br>
<div>Anderes Datum + 2 Wochen</div>
<f:format.date date="+2 weeks" base="285375600" format="%A den %d %B %Y"/><br>
<div>Aktuelles Datum + 2 Wochen</div>
Saturday den 02 March 2024<br>
<div>Anderes Datum + 2 Wochen</div>
Tuesday den 30 January 1979<br>

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.date date="+2 weeks" pattern="EEEE 'den' dd LLLL yyyy" locale="de_DE"/><br>
Samstag den 02 März 2024<br>

f:format.html

TYPO3 4.3

Schleust 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 &gt;&lt; 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

ParameterErklärungStandard
parseFuncTSPathGebe hier den Pfad zur TypoScript parseFunc Eigenschaft an, die sich um das Aufbereiten des Texten kümmern soll.lib.parseFunc_RTE
dataTYPO3 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.
currentTYPO3 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.
currentValueKeyTYPO3 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.
tableTYPO3 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 vorzubereitenEmpty String

Beispiel

<f:format.html>Ein <a href="t3://page?uid=11">Link</a></f:format.html>
<f:format.html>Böses Script: <script>alert("har har har");</script></f:format.html>
<p>Ein <a href="/extensions/events2">Link</a></p>
<p>Böses Script: &lt;script&gt;alert("har har har");&lt;/script&gt;</p>

f:format.htmlentitiesDecode

TYPO3 4.6

Im Text befindliche Zeichen wie: &amp;, &quot;, &#039;, &lt;, &gt; werden mittels PHP:html_entity_decode() wieder in ihre vorherige, HTML interpretierbare Form, zurückkonvertiert: &, ", ', <, >.

Parameter

ParameterErklärungStandard
valueDer Text in dem sich die maskierten Zeichen befinden, die zurückkonvertiert werden sollen.
keepQuotesEinfache und doppelte Anführungsstriche werden standardmäßig nicht mit zurückkonvertiert.false
encodingWir 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

<p>
    <f:format.htmlentitiesDecode keepQuotes="false">Ich arbeite bei &quot;M&uuml;ller &amp; Breuer&quot;</f:format.htmlentitiesDecode>
</p>
<p>
    <f:format.htmlentitiesDecode keepQuotes="true">Ich arbeite bei &quot;M&uuml;ller &amp; Breuer&quot;</f:format.htmlentitiesDecode>
</p>
<p>
    Ich arbeite bei "Müller & Breuer"
</p>
<p>
    Ich arbeite bei &quot;Müller & Breuer&quot;
</p>

f:format.htmlentities

TYPO3 4.6

Im Text befindliche Sonderzeichen wie: &, ", ', <, > und auch Umlaute wie ä, ö, ü werden mittels PHP:htmlentities() in ein HTML sicheres Format konvertiert: &amp;, &quot;, &#039;, &lt;, &gt; und &auml;, &ouml;, &uuml;. Gerade diese spitzen Klammern <> könnten vom HTML Parser als Tags interpretiert werden oder das & als Trenner für einen URI-Parameter.

Parameter

ParameterErklärungStandard
valueDer Text mit den Zeichen, die in ein HTML sicheres Format zu konvertieren sind.
keepQuotesEinfache und doppelte Anführungsstriche werden standardmäßig nicht umgewandelt.false
encodingWir 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
doubleEncodeFalls der Text bereits HTML sicherere Zeichen beinhaltet, werden diese erneut konvertiert. Dies führt zu &amp;amp;amp;. Um erneutes Umwandeln zu verhindern, diese Option auf false setzen.true

Beispiel

<p>
    <f:format.htmlentities keepQuotes="false">Ich arbeite bei "Müller &amp; Breuer"</f:format.htmlentities>
</p>
<p>
    <f:format.htmlentities keepQuotes="true">Ich arbeite bei "Müller &amp; Breuer"</f:format.htmlentities>
</p>
<p>
    <f:format.htmlentities keepQuotes="false" doubleEncode="false">Ich arbeite bei "Müller &amp; Breuer"</f:format.htmlentities>
</p>
<p>
    Ich arbeite bei &quot;M&uuml;ller &amp;amp; Breuer&quot;
</p>
<p>
    Ich arbeite bei "M&uuml;ller &amp;amp; Breuer"
</p>
<p>
    Ich arbeite bei &quot;M&uuml;ller &amp; Breuer&quot;
</p>

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: &amp;, &quot;, &#039;, &lt;, &gt;. Gerade diese spitzen Klammern <> könnten vom HTML Parser als Tags interpretiert werden oder das & als Trenner für einen URI-Parameter.

Parameter

ParameterErklärungStandard
valueDer Text mit den Zeichen, die in ein HTML sicheres Format zu konvertieren sind.
keepQuotesEinfache und doppelte Anführungsstriche werden standardmäßig nicht umgewandelt.false
encodingWir 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
doubleEncodeFalls der Text bereits HTML sicherere Zeichen beinhaltet, werden diese erneut konvertiert. Dies führt zu &amp;amp;amp;. Um erneutes Umwandeln zu verhindern, diese Option auf false setzen.true

Beispiel

<p>
    <f:format.htmlspecialchars keepQuotes="false">Ich arbeite bei "Müller &amp; Breuer"</f:format.htmlspecialchars>
</p>
<p>
    <f:format.htmlspecialchars keepQuotes="true">Ich arbeite bei "Müller &amp; Breuer"</f:format.htmlspecialchars>
</p>
<p>
    <f:format.htmlspecialchars keepQuotes="false" doubleEncode="false">Ich arbeite bei "Müller &amp; Breuer"</f:format.htmlspecialchars>
</p>
<p>
    Ich arbeite bei &quot;Müller &amp;amp; Breuer&quot;
</p>
<p>
    Ich arbeite bei "Müller &amp;amp; Breuer"
</p>
<p>
    Ich arbeite bei &quot;Müller &amp; Breuer&quot;
</p>

f:format.json

TYPO3 8.6

Nimmt jedweden Wert entgegen und gibt in als JSON zurück.

Parameter

ParameterErklärungStandard
valueDer 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 &quot;. 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.json forceObject="false">{personen}</f:format.json>
{personen -> f:format.json(forceObject: "false") -> f:format.raw()}

<f:format.json forceObject="true">{personen}</f:format.json>
{personen -> f:format.json(forceObject: "true") -> f:format.raw()}
$this->view->assign(
    'personen',
    [
        0 => ['name' => 'Stefan'],
        1 => ['name' => 'Petra'],
    ]
);
[{&quot;name&quot;:&quot;Stefan&quot;},{&quot;name&quot;:&quot;Petra&quot;}]
[{"name":"Stefan"},{"name":"Petra"}]

{&quot;0&quot;:{&quot;name&quot;:&quot;Stefan&quot;},&quot;1&quot;:{&quot;name&quot;:&quot;Petra&quot;}}
{"0":{"name":"Stefan"},"1":{"name":"Petra"}}

f:format.nl2br

TYPO3 4.3

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.nl2br>Text
mit
Zeilenumbrüchen</f:format.nl2br>
Text<br>mit<br>Zeilenumbrüchen

f:format.number

TYPO3 4.3

Mit diesem ViewHelper könnt ihr Zahlen formatieren. Er arbeitet ähnlich dem f:format.currency ViewHelper.

Parameter

ParameterErklärungStandard
decimalsAnzahl der Nachkommastellen.2
decimalSeperatorZeichen zum Einleiten der Nachkommastellen.,
thousandsSeperatorZeichen zum Hervorheben der Tausenderstellen. Standard:.

Beispiel

Wie ihr seht, wird sogar automatisch aufgerundet.

<f:format.number decimals="3" decimalSeparator="." thousandsSeparator=",">1122334455.667788</f:format.number>
1,122,334,455.668

f:format.padding

TYPO3 4.3

Der 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

ParameterErklärungStandard
valueTYPO3 7.1 Das Wort oder der Text, dem Abstandszeichen hinzugefügt werden sollen
padLengthWenn 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.
padStringAngabe des Abstandszeichen mit dem aufgefüllt werden soll.Leerzeichen
padTypeTYPO3 4.6 Die Abstandszeichen können rechts right, links left oder von beiden Seiten aus both angefügt werden.right

Beispiel

<p><f:format.padding padLength="10" padString="-=">TYPO3</f:format.padding>ist cool</p>
<p><f:format.padding padLength="10" padString="#">Stefan</f:format.padding>ist cool</p>
<p><f:format.padding padLength="10" padString=" ">Ich</f:format.padding>bin cool</p>
<p>TYPO3-=-=-ist cool</p>
<p>Stefan####ist cool</p>
<p>Ich       bin cool</p>

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

ParameterErklärungStandard
valueDer Text mit den Formatierungszeichen, die mit den Werten aus arguments ersetzt werden sollen.null
argumentsEin 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.printf arguments="{0: 'Stefan', 1: 2, 2: '4'}">%1$s hat eine %3$d-seitige Dokumentation geschrieben und %2$d Tage dafür gebraucht.</f:format.printf>
Stefan hat eine 4-seitige Dokumentation geschrieben und 2 Tage dafür gebraucht.

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

ParameterErklärung
valueDer Text, der unverändert ausgegeben werden soll

Beispiel

<f:format.raw value="Böser <script> Tag"/>
Böser <script> Tag

f:format.stripTags

TYPO3 4.6

Dieser ViewHelper entfernt sämtliche HTML-Tags aus einem Text.

Parameter

ParameterErklärung
valueDer Text aus dem die HTML-Tags entfernt werden sollen
allowedTagsTYPO3 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.stripTags allowedTags="<b>,<i>">Ein <b>fetter</b> und <i>kursiver</i> Text mit einigen <span style="color: blue;">bunten</span> HTML-Tags.</f:format.stripTags>
Ein <b>fetter</b> und <i>kursiver</i> Text mit einigen bunten HTML-Tags.

f:format.trim

TYPO3 12.4

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

ParameterErklärungStandard
valueDer Text von dem rechts und/oder links die Zeichen aus characters entfernt werden sollen.
charactersKomma 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\x0Bfalse
sideEntfernt Zeichen von der linken Seite (left, start), von der rechten Seite (right, end) oder von beiden Seiten bothboth

Beispiel

<f:format.trim characters="#">###MARKER###</f:format.trim>
<f:format.trim side="left">   
    
    ###MARKER###</f:format.trim>
MARKER
###MARKER###

f:format.urlencode

TYPO3 4.6

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

ParameterErklärung
valueDer Text, der für die Übergabe per Link vorbereitet werden soll

Beispiel

<f:format.urlencode>Text mit ein paar Sonderzeichen, die für die URL entsprechend maskiert werden müssen: @+%/</f:format.urlencode>
Text%20mit%20ein%20paar%20Sonderzeichen%2C%20die%20f%C3%BCr%20die%20URL%20entsprechend%20maskiert%20werden%20m%C3%BCssen%3A%20%40%2B%25%2F