* * * * Output:: * * */ class ModuleLayoutViewHelper extends AbstractViewHelper { use CompileWithRenderStatic; /** * @var bool */ protected $escapeOutput = false; public static function renderStatic( array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext ) { $viewHelperVariableContainer = $renderingContext->getViewHelperVariableContainer(); if ($viewHelperVariableContainer->exists(self::class, ModuleTemplate::class)) { throw new Exception('ModuleLayoutViewHelper can only be used once per module.', 1483292643); } $moduleTemplate = GeneralUtility::makeInstance(ModuleTemplate::class); $moduleTemplate->setFlashMessageQueue($renderingContext->getControllerContext()->getFlashMessageQueue()); $viewHelperVariableContainer->add(self::class, ModuleTemplate::class, $moduleTemplate); $moduleTemplate->setContent($renderChildrenClosure()); $viewHelperVariableContainer->remove(self::class, ModuleTemplate::class); return $moduleTemplate->renderContent(); } }