From 231fe1d57f8c152ee879b57000d8bd7e20a612b9 Mon Sep 17 00:00:00 2001
From: Benni Mack <benni@typo3.org>
Date: Mon, 20 Apr 2020 20:18:37 +0200
Subject: [PATCH] [BUGFIX] Allow be.container ViewHelper without Base Header
 Bar

Due to the replacment of DocumentTemplate with ModuleTemplate
the rendering is now different. In order to overcome this,
a new flag enableDocHeader is added.

see https://review.typo3.org/c/Packages/TYPO3.CMS/+/63290

Resolves: #90834
Releases: master
Change-Id: Ifb278f7dff1c9b1e18b09f7587dbe33caff13732
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64261
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Benni Mack <benni@typo3.org>
---
 .../backend/Resources/Private/Templates/EmptyModule.html   | 1 +
 .../fluid/Classes/ViewHelpers/Be/ContainerViewHelper.php   | 7 +++++++
 2 files changed, 8 insertions(+)
 create mode 100644 typo3/sysext/backend/Resources/Private/Templates/EmptyModule.html

diff --git a/typo3/sysext/backend/Resources/Private/Templates/EmptyModule.html b/typo3/sysext/backend/Resources/Private/Templates/EmptyModule.html
new file mode 100644
index 000000000000..7cc98bc36d72
--- /dev/null
+++ b/typo3/sysext/backend/Resources/Private/Templates/EmptyModule.html
@@ -0,0 +1 @@
+<f:format.raw>{content}</f:format.raw>
diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Be/ContainerViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Be/ContainerViewHelper.php
index dc13568836aa..f52931a3089a 100644
--- a/typo3/sysext/fluid/Classes/ViewHelpers/Be/ContainerViewHelper.php
+++ b/typo3/sysext/fluid/Classes/ViewHelpers/Be/ContainerViewHelper.php
@@ -66,6 +66,7 @@ class ContainerViewHelper extends AbstractBackendViewHelper
         $this->registerArgument('includeJsFiles', 'array', 'List of custom JavaScript file to be loaded');
         $this->registerArgument('addJsInlineLabels', 'array', 'Custom labels to add to JavaScript inline labels');
         $this->registerArgument('includeRequireJsModules', 'array', 'List of RequireJS modules to be loaded');
+        $this->registerArgument('enableDocHeader', 'bool', 'Add an empty doc header', false);
     }
 
     /**
@@ -111,6 +112,12 @@ class ContainerViewHelper extends AbstractBackendViewHelper
         // Render the content and return it
         $output = $this->renderChildren();
         $moduleTemplate = $this->getModuleTemplate();
+        if ($this->arguments['enableDocHeader'] ?? false) {
+            $moduleTemplate->getDocHeaderComponent()->enable();
+        } else {
+            $moduleTemplate->getDocHeaderComponent()->disable();
+            $moduleTemplate->getView()->setTemplate('EmptyModule.html');
+        }
         $moduleTemplate->setTitle($pageTitle);
         $moduleTemplate->setContent($output);
         return $moduleTemplate->renderContent();
-- 
GitLab