Template::render()
\nn\t3::Template()->render($templateName = NULL, $vars = [], $templatePaths = [], $request = NULL);
Render a Fluid template using the standalone renderer
\nn\t3::Template()->render( 'Templatename', $vars, $templatePaths );
\nn\t3::Template()->render( 'Templatename', $vars, 'myext' );
\nn\t3::Template()->render( 'Templatename', $vars, 'tx_myext_myplugin' );
\nn\t3::Template()->render( 'fileadmin/Fluid/Demo.html', $vars );
Copied!
Since TYPO3 12, the $request must also be passed when calling from a controller:
\nn\t3::Template()->render( 'templatename', $vars, $templatePaths, $this->request );
Copied!
| @return string
Source Code
public function render ( $templateName = null, $vars = [], $templatePaths = [], $request = null )
{
$view = \nn\t3::injectClass(StandaloneView::class);
if (!$request) {
$request = \nn\t3::Environment()->getRequest();
}
if ($request) {
$view->setRequest( $request );
}
if ($templatePaths) {
// String wurde als TemplatePath übergeben
if (is_string($templatePaths)) {
if ($paths = \nn\t3::Settings()->getPlugin($templatePaths)) {
$templatePaths = $paths['view'];
}
}
if ($templateName) {
$templatePaths['template'] = $templateName;
}
$this->setTemplatePaths( $view, $templatePaths );
$this->removeControllerPath( $view );
} else {
$view->setTemplatePathAndFilename( $templateName );
}
$view->assignMultiple( $vars );
return $view->render();
}
Copied!