Eigenen ViewHelper erstellen

Wie erstellt man einen eigenen ViewHelper?

Ich möchte in Fluid die Möglichkeit haben mit einem ViewHelper einen Text mit einer bestimmten Farbe zu versehen.

Ordnerstruktur

ViewHelper Klassen werden in der jeweiligen Extension in einem neuen Ordner „ViewHelpers“ abgelegt.

typo3conf
– ext
— meineExtension
— Classes
—- ViewHelpers (dieser Ordner muss manuell erstellt werden, wenn noch nicht vorhanden)

ViewHelper PHP Klasse

Der Dateiname muss in der üblichen Gross-/Kleinschreibung bennant werden und mit „ViewHelper.php“ enden.

In meinem Beispiel ergibt dies: „ColorTextViewHelper.php“

Code

<?php

/**
* This class is the text color view helper for the Fluid templating engine.
*
* @package TYPO3
* @subpackage Fluid
* @version
*/
class Tx_meineExtension_ViewHelpers_ColorTextViewHelper extends Tx_Fluid_Core_ViewHelper_AbstractViewHelper {

/**
* render text with color given
*
* @param string $color The color in english
* @return string text in color
*/
public function render($color) {
$myText = 'Das ist ein Beispieltext, der überall erscheint, wo ich ihn per Fluid aufrufe.';
return sprintf('
<div style="color: %1$s;">%2$s</div>
', $color, $myText);
}
}

?>

Fluid

In Fluid rufe ich den ViewHelper auf. Ich muss aber ein Namespace angeben, damit der ViewHelper gefunden werden kann.

Code

{namespace article=Tx_meineExtension_ViewHelpers}

Ausgabe

Das ist ein Beispieltext, der überall erscheint, wo ich ihn per Fluid aufrufe.

Hast du einen Fehler gefunden? Schreibe an: http://www.extbasefluid.com/anfrage/
comments powered by Disqus