Fluid Standard View Helper

Alle standard Fluid viewHelper in der Übersicht - mit Praxisbeispielen und Inlinenotation.

Es sind nur die jeweiligen Parameter angegeben die ich in der Praxis häufiger brauche. Alle Parameter und weitere Details sind auf TYPO3 dokumentiert. Link

Hinweis: die Liste befindet sich noch im Aufbau!


Allgemeine viewHelper

f:count

Zählt die Elemente im Objekt oder Array

<f:count>{result}</f:count>

Inlinenotation:

{result -> f:count()}

f:cObject

Mit diesem viewHelper werden TypoScript libs eingebunden.

OptionTypBeschreibungVorgabePflicht
typoscriptObjectPathstringTypoScript libja
datamixedDaten die übergeben werden. Können in der TS lib über {field: myExtbaseField} erreicht werden.nein
currentValueKeystringwelcher Wert als current direkt in der lib zur Verfügung stehtnein

Beispiel

f:cObject typoscriptObjectPath="lib.content"

Dazu gehört dann im TS:

lib.content < styles.content.get 

f:debug

Zum debuggen von Objekten, Variablen und Arrays

<f:debug>{results}</f:debug>
<f:debug title="Meine Ergebnisse">{results}</f:debug>

Inline:

{f:debug (subject=results, title="Meine Ergbnisse")}

f:section

Mit f:section werden inline Bereiche im Template markiert, die - ähnlich Partials -  aufgerufen und wieder verwendet werden können. Die klassische Anwendung ist in Verbindung mit Layouts.

Beispiel:

MeinLayout.html

<f:render partial="Header" arguments="{_all}">
<f:section="Maintemplate" />
<f:render partial="Footer">

Im Template:

<f:layout name="MeinLayout" />
<f:section name="Maintemplate">
    <!-- Template Content -->
</f:section>


Würden wir in diesem Beispiel auf section verzichten, dann wäre die gerenderte Ausgabereihenfolge
- Header
- Footer
- Template

f:translate

Zeigt Übersetzungstexte aus Sprachdateien an.

Beispiel:

<f:translate key="LLL:EXT:myExtension/Resources/Private/Language/locallang.xlf:text_a" />

Wenn im Setup die Sprachdatei angegeben wird, dann reicht auch der Key:

<f:translate key="text_a" />

Siehe auch "Sprachdateien in Fluid".


Format viewHelper

f:format.crop

Schneidet einen String nach x Anzahl Buchstaben ab.

Eigenschaften:

OptionTypBeschreibungVorgabePflicht
maxCharactersintegerAnzahl der Zeichenja
appendstringOptionale Zeichen die angehangen werden...nein

Beispiel:

<f:format.crop maxCharacters="20" append=" weiterlesen">{string}</f:format.crop>

Hinweis: Bisher musste bei mir die komplette Anweisung in einer Zeile stehen.
Weitere Parameter siehe TYPO3 Wiki.

f:format.currency

Gibt eine Zahl (integer oder float) als Währung aus.

 

OptionTypBeschreibungVorgabePflicht
currencySignstringWährungszeichenleernein
prependCurrencybooleanWährungssymbol vor den Wert setzen?falsenein
separateCurrencybooleanLeerzeichen zwischen Symbol und Zahltruenein
decimalSeperatorstringTrennezichen vor Nachkommazahlen,nein
thousandsSeperatorstringTrennzeichen Tausender.nein
decimalsintegerAnzahl Nachkommastellen2nein

Beispiel:

<f:format.currency currencySign="€">199.90</f:format.currency>

Ausgabe:

199,90 €

f.format.date

Formatiert ein DateTime Objekt in ein Datum.
Die Ausgabeformatierung entspricht der php Funktion date.

Beispiel: 

<f:format.date format="d. F Y">{result.dateTime}</f:format.date>

Ergebnis abhängig vom Wert result.dateTime:

1. May 2015

Um deutsche Wochen- und Monatstage auszugeben kann im format Ausdruck ein % Zeichen vorrausgesetzt werden. Damit wird die php strftime Funktionen genutzt. Die Formatierung muss dann lt.  php strftime erfolgen!

Beispiel:

<f:format.date format="%d. %B %Y">{result.dateTime}</f:format.date>

Ergebnis: 1. Mai 2015

Die landesspezifische Textausgabe ist abhängig von dem was ihr im Setup unter config.locale_all angegeben habt. Bei Mittwaldservern muss da z.B. de_DE.utf8 rein. Es gibt aber auch schreibweisen wie de_DE.utf-8. Entweder ausprobieren oder per ssh in der Konsole den Befehl "locale -a" ausführen, dann werden euch alle serverseitig verfügbaren Ländercodes ausgegeben.

f:format.html

Ausgabeformatierung für Felder bei denen im Backend der RTE genutzt wird. Der Feldinhalt wird durch die lib.parseFunc_RTE geschleift.

<f:format.html>{resulte.rte_field}</f:format.html>

f:format.nl2br

Formatiert new-lines - to - br: Konvertiert Zeilenumbrüche CHR(10), wie sie z.B. in Textareas vorkommen in den html Tag <br />.

Beispiel:

<f:format.nl2br>{result.inputOfTextareafield}</f:format.nl2br>

f:format.number

Formatiert Zahlen, ähnlich wie f:format.currency.

 

OptionTypBeschreibungVorgabe
decimalSeparatorstringTrennzeichen Nachkommastellen.
decimalsintegerAnzahl Nachkommastellen2
thousandsSeparatorstringTrennzeichen Tausender,

Beispiel

<f:format.number>{result}</f:format.number>

f:format.raw

Parst das Ergebnis unverändert, kein escaping von Zeichen.

Beispiel:

<f:format.raw>{result}<f:format.raw>
<f:format.raw value="{result}" />
{result->f:format.raw()}

Link viewHelper


ViewHelper für die Ausgabe von Arrays und Query Results

f:cycle

Als Ergänzung zum f:for viewHelper.

Die Iteration im f:for viewHelper hat die Parameter even und odd. Damit können die Datensätze nur abwechselnd beeinflusst werden.

Mit cycle kann gezielt jeder dritter, vierter usw Datensatz angesprochen werden.

<f:for each="{results}" as="result">
    <f:cycle values="{0: 'class_1', 1: 'class_2, 2: 'class_3'} as="myName">
        <div class="{myName}"> {result.title} </div>
    </f:cycle>
</f:for>

Das Ergebnis:

<div class="class_1">Result 1</div>
<div class="class_2">Result 2</div>
<div class="class_3">Result 3</div>
<div class="class_1">Result 4</div>
<div class="class_2">Result 5</div>
...

Weitere Artikel zu diesem Thema:

Empfehlenswerte Lektüre:

CSS: Das umfassende Handbuch

Wer mal abseits vom Monitor ein passendes Buch zur Hand nehmen will, dem kann ich das Standardwerk von Kai Laborenz empfehlen.
800 Seiten geballte Information über CSS, Frameworks, Barierefreiheit Media Queries & Co.

Kommentare

keine Kommentare vorhanden


Kommentar verfassen

Die Email Adresse wird nicht veröffentlicht.