From 2c520912ed3dc9f475672526a35cb52c7268e2c5 Mon Sep 17 00:00:00 2001 From: Christian Kuhn Date: Fri, 11 Oct 2024 12:21:10 +0200 Subject: [PATCH] [TASK] Avoid deprecated EMU::addPageTSConfig() Register own condition matcher to access ExtensionConfiguration toggles. Switch from INCLUDE_TYPOSCRIPT to @import. --- .editorconfig | 2 +- .../ExpressionLanguage/ConditionProvider.php | 1 + .../ExtensionConfigurationWrapper.php | 31 ++++++++++++++++++ Configuration/page.tsconfig | 29 +++++++++++++++++ ext_localconf.php | 32 ------------------- 5 files changed, 62 insertions(+), 33 deletions(-) create mode 100644 Classes/ExpressionLanguage/ExtensionConfigurationWrapper.php create mode 100644 Configuration/page.tsconfig diff --git a/.editorconfig b/.editorconfig index 5193999e9..ea7587648 100644 --- a/.editorconfig +++ b/.editorconfig @@ -48,7 +48,7 @@ indent_size = 3 max_line_length = 80 # TypoScript -[*.typoscript] +[{*.typoscript,*.tsconfig}] indent_style = space indent_size = 4 diff --git a/Classes/ExpressionLanguage/ConditionProvider.php b/Classes/ExpressionLanguage/ConditionProvider.php index 0b158f375..8fd5c25b9 100644 --- a/Classes/ExpressionLanguage/ConditionProvider.php +++ b/Classes/ExpressionLanguage/ConditionProvider.php @@ -22,6 +22,7 @@ public function __construct() { $this->expressionLanguageVariables = [ 'extension' => GeneralUtility::makeInstance(ExtensionWrapper::class), + 'extensionConfiguration' => GeneralUtility::makeInstance(ExtensionConfigurationWrapper::class), ]; } } diff --git a/Classes/ExpressionLanguage/ExtensionConfigurationWrapper.php b/Classes/ExpressionLanguage/ExtensionConfigurationWrapper.php new file mode 100644 index 000000000..92eb9d46a --- /dev/null +++ b/Classes/ExpressionLanguage/ExtensionConfigurationWrapper.php @@ -0,0 +1,31 @@ +extensionConfiguration->get($extensionKey, $extConfTemplateToggle); + } +} diff --git a/Configuration/page.tsconfig b/Configuration/page.tsconfig new file mode 100644 index 000000000..80e14521c --- /dev/null +++ b/Configuration/page.tsconfig @@ -0,0 +1,29 @@ +[!extensionConfiguration.isToggleEnabled('bootstrap_package', 'disablePageTsContentElements')] + # Add Content Elements + @import 'EXT:bootstrap_package/Configuration/TsConfig/Page/ContentElement/All.tsconfig' +[end] + +[!extensionConfiguration.isToggleEnabled('bootstrap_package', 'disablePageTsBackendLayouts')] + # Add BackendLayouts for the BackendLayout DataProvider + @import 'EXT:bootstrap_package/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig' +[end] + +[!extensionConfiguration.isToggleEnabled('bootstrap_package', 'disablePageTsRTE')] + # RTE + @import 'EXT:bootstrap_package/Configuration/TsConfig/Page/RTE.tsconfig' +[end] + +[!extensionConfiguration.isToggleEnabled('bootstrap_package', 'disablePageTsTCADefaults')] + # TCADefaults + @import 'EXT:bootstrap_package/Configuration/TsConfig/Page/TCADefaults.tsconfig' +[end] + +[!extensionConfiguration.isToggleEnabled('bootstrap_package', 'disablePageTsTCEMAIN')] + # TCEMAIN + @import 'EXT:bootstrap_package/Configuration/TsConfig/Page/TCEMAIN.tsconfig' +[end] + +[!extensionConfiguration.isToggleEnabled('bootstrap_package', 'disablePageTsTCEFORM')] + # TCEFORM + @import 'EXT:bootstrap_package/Configuration/TsConfig/Page/TCEFORM.tsconfig' +[end] diff --git a/ext_localconf.php b/ext_localconf.php index 0e5a072ea..427cb24f8 100644 --- a/ext_localconf.php +++ b/ext_localconf.php @@ -18,38 +18,6 @@ \TYPO3\CMS\Core\Configuration\ExtensionConfiguration::class ); -// PageTS - -// Add Content Elements -if (!(bool) $extensionConfiguration->get('bootstrap_package', 'disablePageTsContentElements')) { - \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(''); -} - -// Add BackendLayouts for the BackendLayout DataProvider -if (!(bool) $extensionConfiguration->get('bootstrap_package', 'disablePageTsBackendLayouts')) { - \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(''); -} - -// RTE -if (!(bool) $extensionConfiguration->get('bootstrap_package', 'disablePageTsRTE')) { - \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(''); -} - -// TCADefaults -if (!(bool) $extensionConfiguration->get('bootstrap_package', 'disablePageTsTCADefaults')) { - \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(''); -} - -// TCEMAIN -if (!(bool) $extensionConfiguration->get('bootstrap_package', 'disablePageTsTCEMAIN')) { - \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(''); -} - -// TCEFORM -if (!(bool) $extensionConfiguration->get('bootstrap_package', 'disablePageTsTCEFORM')) { - \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(''); -} - // Register custom EXT:form configuration if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('form')) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup(trim('