TYPO3.Neos: Eigenen Fluid View Helper erstellen

TYPO3.Neos: Eigenen Fluid View Helper erstellen

Posted by ariesprodesign in PHP, Programmierung, Typo3 Flow, TYPO3 Neos, Webdesign 07 Dez 2014

Ich wollte euch heute zeigen wie man mit Hilfe von Fluid ViewHelpers sich viel Arbeit sparen kann und der Code übersichtlicher wird.

Ich werde euch an Hand eines einfachen Beispiels zeigen wie stark dieses Feature ist. Ich muss eine Liste von Farben generieren, diese Farben bekomme ich aus dem Controller in Form eines Arrays. Fangen wir mit dem Controller an:

Aus diesen Array müssen wir eine Tabelle mit folgende Spalten erzeugen: Color, Name, RGB und Hex. Der Hexadezimalwert muss aber noch ermittelt werden, an der Stelle brauchen wir einen ViewHelper, da wir kein PHP Code direkt in den Views eingeben sollten.

Ein ViewHelper muss von der Klasse TYPO3\Fluid\Core\ViewHelper\AbstractViewHelper erben, deshalb fangen wir so an:

Dann muss unsere ViewHelper die Funktion „render“ enthalten, außerdem brauchen wir einige Werte zwischenspeichern, mit diesen Aufgabe hilft uns die sogenannte “Template Variable Container”.

Hier müssen Sie mit der Reihenfolge ganz besonders aufpassen, zuerst wird die Variable gespeichert:

Dann wird die Aufgabe erzeugt:

Danach wird die Variable aus der Variable Container entfernt:

Schließlich wird die Aufgabe übergeben:

Wie Sie sehen (ViewHelper: Zeile 14), müssen wir eine Funktion erzeugen, die uns die RGB-Werte in einen Hexadezimalwert konvertiert.

Jetzt gehen wir zu dem View. Wir müssen in erster Stelle die Namespace der ViewHelper angeben:

Dann iterieren wir mit Hilfe der for-Schleife durch alle Farben, und speisen die Werte mit Hilfe unserer ViewHelper in die Tabelle ein.

Wenn Sie aufgepasst haben, haben Sie gemerkt, dass unsere Variablen aus dem „Template Variable Container“: rgbColor, hexColor, colorName sich in den View wiederfinden (Zeile: 7, 8 und 9).

Und das bekommen wir zu sehen:

color-table

Schlagwörter: , , ,

Schreiben Sie einen Kommentar