20 use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
21 use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
22 use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
44 use CompileWithRenderStatic;
53 $this->registerArgument(
'pageTitle',
'string',
'title tag of the module. Not required by default, as BE modules are shown in a frame',
false,
'');
54 $this->registerArgument(
'includeCssFiles',
'array',
'List of custom CSS file to be loaded');
55 $this->registerArgument(
'includeJsFiles',
'array',
'List of custom JavaScript file to be loaded');
56 $this->registerArgument(
'addJsInlineLabels',
'array',
'Custom labels to add to JavaScript inline labels');
57 $this->registerArgument(
'includeRequireJsModules',
'array',
'List of RequireJS modules to be loaded');
58 $this->registerArgument(
'addInlineSettings',
'array',
'Adds Javascript Inline Setting');
66 public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)
68 $pageRenderer = static::getPageRenderer();
69 $pageTitle = $arguments[
'pageTitle'];
70 $includeCssFiles = $arguments[
'includeCssFiles'];
71 $includeJsFiles = $arguments[
'includeJsFiles'];
72 $addJsInlineLabels = $arguments[
'addJsInlineLabels'];
73 $includeRequireJsModules = $arguments[
'includeRequireJsModules'];
74 $addInlineSettings = $arguments[
'addInlineSettings'];
77 $pageRenderer->setTitle($pageTitle);
81 if (is_array($includeCssFiles) && count($includeCssFiles) > 0) {
82 foreach ($includeCssFiles as $addCssFile) {
83 $pageRenderer->addCssFile($addCssFile);
86 if (is_array($includeJsFiles) && count($includeJsFiles) > 0) {
87 foreach ($includeJsFiles as $addJsFile) {
88 $pageRenderer->addJsFile($addJsFile);
91 if (is_array($includeRequireJsModules) && count($includeRequireJsModules) > 0) {
92 foreach ($includeRequireJsModules as $addRequireJsFile) {
93 $pageRenderer->loadRequireJsModule($addRequireJsFile);
97 if (is_array($addInlineSettings) && count($addInlineSettings) > 0) {
98 $pageRenderer->addInlineSettingArray(
null, $addInlineSettings);
102 if (is_array($addJsInlineLabels) && count($addJsInlineLabels) > 0) {
103 $extensionKey = $renderingContext->getControllerContext()->getRequest()->getControllerExtensionKey();
104 foreach ($addJsInlineLabels as $key) {
106 $pageRenderer->addInlineLanguageLabel($key, $label);
116 return GeneralUtility::makeInstance(PageRenderer::class);