From 6d6b39c38b77a05fe9ebd9d43d0372e52e2edca1 Mon Sep 17 00:00:00 2001 From: MaxAmann-sitegeist <165805977+MaxAmann-sitegeist@users.noreply.github.com> Date: Wed, 22 May 2024 12:38:14 +0200 Subject: [PATCH] Bugfix for return value from type conversion (#156) * [BUGFIX] Add AbstractFile to conversionInterfaces due to null return of type to type conversion. * [FEATURE] on release set ext_emconf version from tag --------- Co-authored-by: Ulrich Mathes --- .../Utility/ComponentArgumentConverter.php | 7 +++++- composer.json | 1 + ext_emconf.php | 2 +- ext_localconf.php | 24 ++++++++++--------- 4 files changed, 21 insertions(+), 13 deletions(-) diff --git a/Classes/Utility/ComponentArgumentConverter.php b/Classes/Utility/ComponentArgumentConverter.php index 95030fe..dd1b46e 100644 --- a/Classes/Utility/ComponentArgumentConverter.php +++ b/Classes/Utility/ComponentArgumentConverter.php @@ -11,6 +11,7 @@ use SMS\FluidComponents\Interfaces\ConstructibleFromInteger; use SMS\FluidComponents\Interfaces\ConstructibleFromNull; use SMS\FluidComponents\Interfaces\ConstructibleFromString; +use TYPO3\CMS\Core\Resource\AbstractFile; use TYPO3\CMS\Core\Resource\FileInterface; use TYPO3\CMS\Extbase\Domain\Model\FileReference; @@ -59,7 +60,11 @@ class ComponentArgumentConverter implements \TYPO3\CMS\Core\SingletonInterface FileReference::class => [ ConstructibleFromExtbaseFile::class, 'fromExtbaseFile' - ] + ], + AbstractFile::class => [ + ConstructibleFromFileInterface::class, + 'fromFileInterface' + ], ]; /** diff --git a/composer.json b/composer.json index 1778413..b41aca9 100644 --- a/composer.json +++ b/composer.json @@ -62,6 +62,7 @@ "TYPO3\\TestingFramework\\Composer\\ExtensionTestEnvironment::prepare" ], "prepare-release": [ + "sed -i'' -e \"s/'version' => ''/'version' => '$(echo ${GITHUB_REF#refs/tags/} | sed 's/v//')'/\" ext_emconf.php", "rm -r .github .ecrc .editorconfig .gitattributes Build Tests" ] } diff --git a/ext_emconf.php b/ext_emconf.php index dfd2f93..aa042ca 100644 --- a/ext_emconf.php +++ b/ext_emconf.php @@ -9,7 +9,7 @@ 'state' => 'stable', 'uploadfolder' => false, 'clearCacheOnLoad' => false, - 'version' => '3.7.0', + 'version' => '', 'constraints' => [ 'depends' => [ 'typo3' => '11.5.0-12.9.99', diff --git a/ext_localconf.php b/ext_localconf.php index 1e30d8e..024975e 100644 --- a/ext_localconf.php +++ b/ext_localconf.php @@ -8,17 +8,19 @@ $GLOBALS['TYPO3_CONF_VARS']['SYS']['fluid']['namespaces']['fc'][] = 'SMS\\FluidComponents\\ViewHelpers'; // Register type aliases - if (!isset($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluid_components']['typeAliases'])) { - $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluid_components']['typeAliases'] = []; - } - $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluid_components']['typeAliases']['File'] = \SMS\FluidComponents\Domain\Model\File::class; - $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluid_components']['typeAliases']['Image'] = \SMS\FluidComponents\Domain\Model\Image::class; - $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluid_components']['typeAliases']['Link'] = \SMS\FluidComponents\Domain\Model\Link::class; - $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluid_components']['typeAliases']['Typolink'] = \SMS\FluidComponents\Domain\Model\Typolink::class; - $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluid_components']['typeAliases']['Navigation'] = \SMS\FluidComponents\Domain\Model\Navigation::class; - $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluid_components']['typeAliases']['NavigationItem'] = \SMS\FluidComponents\Domain\Model\NavigationItem::class; - $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluid_components']['typeAliases']['Labels'] = \SMS\FluidComponents\Domain\Model\Labels::class; - $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluid_components']['typeAliases']['Slot'] = \SMS\FluidComponents\Domain\Model\Slot::class; + $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluid_components']['typeAliases'] = array_merge( + $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluid_components']['typeAliases'] ?? [], + [ + 'File' => \SMS\FluidComponents\Domain\Model\File::class, + 'Image' => \SMS\FluidComponents\Domain\Model\Image::class, + 'Labels' => \SMS\FluidComponents\Domain\Model\Labels::class, + 'Link' => \SMS\FluidComponents\Domain\Model\Link::class, + 'Navigation' => \SMS\FluidComponents\Domain\Model\Navigation::class, + 'NavigationItem' => \SMS\FluidComponents\Domain\Model\NavigationItem::class, + 'Slot' => \SMS\FluidComponents\Domain\Model\Slot::class, + 'Typolink' => \SMS\FluidComponents\Domain\Model\Typolink::class, + ] + ); if (!isset($GLOBALS['TYPO3_CONF_VARS']['SYS']['features']['fluidComponents.partialsInComponents'])) { $GLOBALS['TYPO3_CONF_VARS']['SYS']['features']['fluidComponents.partialsInComponents'] = false;