From 488076fa67e6cbbd74ee0c19c136787f862fef1e Mon Sep 17 00:00:00 2001
From: Andreas Kienast <a.fernandez@scripting-base.de>
Date: Wed, 14 Feb 2024 17:09:06 +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/+/83000
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Garvin Hicking <gh@faktor-e.de>
Reviewed-by: Andreas Kienast <a.fernandez@scripting-base.de>
Reviewed-by: Garvin Hicking <gh@faktor-e.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Andreas Kienast <a.fernandez@scripting-base.de>
Reviewed-by: Benjamin Franzke <ben@bnf.dev>
Tested-by: Oliver Bartsch <bo@cedev.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 e0d0298afa82..9eea8a9ae0bb 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\IconSize;
 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 UriBuilder $uriBuilder,
         protected readonly ModuleTemplateFactory $moduleTemplateFactory,
         private readonly FormDataCompiler $formDataCompiler,
+        private readonly PageRenderer $pageRenderer,
         private readonly SiteConfiguration $siteConfiguration,
     ) {}
 
@@ -178,6 +180,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