Custom viewhelper
Jeder Viewhelper verwendet eine entsprechende PHP-Klasse.
In einer Extension muß unter Classes ein Ordner ViewHelpers angelegt werden.
Wichtig: Auf die richtige Schreibweise achten!
Insert new file in this directory , f. e. MyTestViewHelper.php (since TYPO3 13.4):
<?php
namespace Vendor\Extension\ViewHelpers;
use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
class MyTestViewHelper extends AbstractViewHelper
{
protected $escapeOutput = false;
public function initializeArguments(): void {
// registerArgument($name, $type, $description, $required, $defaultValue, $escape)
$this->registerArgument('emailAddress', 'string', 'The email address to resolve the gravatar for', true);
}
public function render(): string {
$emailAddress = $this->arguments['emailAddress'];
return sprintf('<img src="http://www.gravatar.com/avatar/%s" />', md5($emailAddress));
}
}
In Fluid:
{namespace m=Vendor\Extension\ViewHelpers}
<m:myTest emailAddress="example@nothing.com" />
Output:
<img src="www.gravatar.com/avatar/234234234234" />
Source: