From e98e5d806fb2b84e749b0dee72dd3bfd0b8bddcd Mon Sep 17 00:00:00 2001 From: Stephan Kellermayr Date: Mon, 24 Jun 2024 15:58:05 +0200 Subject: [PATCH] Switched from PageRenderer to AssetCollector --- .../Form/Element/IconpackWizardElement.php | 5 -- Classes/Hooks/AssetRenderer.php | 61 +++++++++++++++++++ Classes/Hooks/PageRendererHook.php | 44 ------------- ext_localconf.php | 4 ++ ext_tables.php | 10 --- 5 files changed, 65 insertions(+), 59 deletions(-) create mode 100644 Classes/Hooks/AssetRenderer.php delete mode 100644 Classes/Hooks/PageRendererHook.php diff --git a/Classes/Form/Element/IconpackWizardElement.php b/Classes/Form/Element/IconpackWizardElement.php index 3465dc9..a4532e5 100755 --- a/Classes/Form/Element/IconpackWizardElement.php +++ b/Classes/Form/Element/IconpackWizardElement.php @@ -52,11 +52,6 @@ public function render(): array // Add inline labels $pageRenderer->addInlineLanguageLabelFile('EXT:iconpack/Resources/Private/Language/locallang_be.xlf', 'js.'); - $cssFiles = $this->iconpackFactory->queryAssets('css', 'backend'); - foreach ($cssFiles as $cssFile) { - $pageRenderer->addCssFile($cssFile); - } - $languageService = $this->getLanguageService(); $parameterArray = $this->data['parameterArray']; $itemName = $parameterArray['itemFormElName']; diff --git a/Classes/Hooks/AssetRenderer.php b/Classes/Hooks/AssetRenderer.php new file mode 100644 index 0000000..18b3e71 --- /dev/null +++ b/Classes/Hooks/AssetRenderer.php @@ -0,0 +1,61 @@ +isFrontend() && + (bool) \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance( + \TYPO3\CMS\Core\Configuration\ExtensionConfiguration::class + )->get('iconpack', 'autoAddAssets') + ) { + $styleSheets = $iconpackFactory->queryAssets('css', 'frontend'); + } elseif (ApplicationType::fromRequest($GLOBALS['TYPO3_REQUEST'])->isBackend()) { + $styleSheets = $iconpackFactory->queryAssets('css', 'backend'); + } + // Add StyleSheets + foreach ($styleSheets as $key => $styleSheet) { + // @extensionScannerIgnoreLine + $assetCollector->addStyleSheet( + 'iconpack_' . $key, + $styleSheet, + ['media' => 'all'] + ); + } + } + } +} diff --git a/Classes/Hooks/PageRendererHook.php b/Classes/Hooks/PageRendererHook.php deleted file mode 100644 index eb82cf9..0000000 --- a/Classes/Hooks/PageRendererHook.php +++ /dev/null @@ -1,44 +0,0 @@ -isFrontend() - ) { - /** @var IconpackFactory $iconpackFactory */ - $iconpackFactory = GeneralUtility::makeInstance(IconpackFactory::class); - // Add StyleSheets - $styleSheets = $iconpackFactory->queryAssets('css', 'frontend'); - foreach ($styleSheets as $styleSheet) { - $pageRenderer->addCssFile($styleSheet); - } - } - } -} diff --git a/ext_localconf.php b/ext_localconf.php index 6edc548..dda8f95 100755 --- a/ext_localconf.php +++ b/ext_localconf.php @@ -53,4 +53,8 @@ $GLOBALS['TYPO3_CONF_VARS']['BE']['stylesheets']['iconpack'] = 'EXT:iconpack/Resources/Public/Css/Backend/FormEngine/IconpackWizard.min.css'; } + + // Hook to add iconpack assets to the AssetsCollector in the FE/BE: + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-preProcess']['quellenform/assetcollector'] + = \Quellenform\Iconpack\Hooks\AssetRenderer::class . '->addCss'; }); diff --git a/ext_tables.php b/ext_tables.php index d5eabef..aaddb3f 100755 --- a/ext_tables.php +++ b/ext_tables.php @@ -2,16 +2,6 @@ defined('TYPO3') || die(); -// Hook to add iconpack assets to the PageRenderer in the frontend: -if ( - (bool) \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance( - \TYPO3\CMS\Core\Configuration\ExtensionConfiguration::class - )->get('iconpack', 'autoAddAssets') -) { - $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-preProcess'][] - = \Quellenform\Iconpack\Hooks\PageRendererHook::class . '->addIconpackAssets'; -} - if (version_compare(TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '12.3.0', '<')) { // https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.3/Deprecation-100232-TBE_STYLESSkinningFunctionality.html // @extensionScannerIgnoreLine