From 0882218a8c147943b45f23b61e74542970c7985a Mon Sep 17 00:00:00 2001
From: Andreas Kienast <a.fernandez@scripting-base.de>
Date: Fri, 16 Feb 2024 17:10:26 +0100
Subject: [PATCH] [BUGFIX] Load `backend.form` imports in Site Configuration
 form

In v11, extension authors were able to enhance the site configuration
"TCA" with richtext fields. Since v12, this is not possible anymore due
to the missing `backend.form` imports, required to load necessary
JavaScript modules tagged as such. This commit adds the missing
instruction, allowing to make use of ckeditor and related modules
again.

Resolves: #103115
Releases: main, 12.4
Change-Id: I2fb6d6b917ee99d9616593f118daa72d3f3a460b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83017
Tested-by: core-ci <typo3@b13.com>
Tested-by: Andreas Kienast <a.fernandez@scripting-base.de>
Reviewed-by: Andreas Kienast <a.fernandez@scripting-base.de>
---
 .../backend/Classes/Controller/SiteConfigurationController.php | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/typo3/sysext/backend/Classes/Controller/SiteConfigurationController.php b/typo3/sysext/backend/Classes/Controller/SiteConfigurationController.php
index c7b671247e89..b3b63cf11737 100644
--- a/typo3/sysext/backend/Classes/Controller/SiteConfigurationController.php
+++ b/typo3/sysext/backend/Classes/Controller/SiteConfigurationController.php
@@ -44,6 +44,7 @@ use TYPO3\CMS\Core\Imaging\IconFactory;
 use TYPO3\CMS\Core\Localization\LanguageService;
 use TYPO3\CMS\Core\Messaging\FlashMessage;
 use TYPO3\CMS\Core\Messaging\FlashMessageService;
+use TYPO3\CMS\Core\Page\PageRenderer;
 use TYPO3\CMS\Core\Site\Entity\Site;
 use TYPO3\CMS\Core\Site\SiteFinder;
 use TYPO3\CMS\Core\SysLog\Action\Site as SiteAction;
@@ -69,6 +70,7 @@ class SiteConfigurationController
         protected readonly IconFactory $iconFactory,
         protected readonly UriBuilder $uriBuilder,
         protected readonly ModuleTemplateFactory $moduleTemplateFactory,
+        private readonly PageRenderer $pageRenderer,
         private readonly SiteConfiguration $siteConfiguration,
     ) {}
 
@@ -179,6 +181,7 @@ class SiteConfigurationController
             'formEngineFooter' => $formResultCompiler->printNeededJSFunctions(),
         ]);
 
+        $this->pageRenderer->getJavaScriptRenderer()->includeTaggedImports('backend.form');
         $this->configureEditViewDocHeader($view);
         $view->setTitle(
             $this->getLanguageService()->sL('LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration_module.xlf:mlang_tabs_tab'),
-- 
GitLab