From 8b547c3524deb59bab65ad3965df2afc9b43c78d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Sun, 29 May 2022 12:41:06 +0200 Subject: [PATCH] Avoid type errors --- .../Classes/Service/FilterService.php | 19 ++++--------------- .../Classes/Service/ProductDataService.php | 6 +++++- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/public/typo3conf/ext/ep_products/Classes/Service/FilterService.php b/public/typo3conf/ext/ep_products/Classes/Service/FilterService.php index c236c868..e732895a 100644 --- a/public/typo3conf/ext/ep_products/Classes/Service/FilterService.php +++ b/public/typo3conf/ext/ep_products/Classes/Service/FilterService.php @@ -8,6 +8,7 @@ use Symfony\Component\OptionsResolver\Options; use Symfony\Component\OptionsResolver\OptionsResolver; use TYPO3\CMS\Core\SingletonInterface; use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Extbase\Configuration\ConfigurationManager; use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface; class FilterService implements SingletonInterface @@ -15,19 +16,6 @@ class FilterService implements SingletonInterface public const DURATION_SHORT = 4; public const DURATION_LONG = 5; - /** - * @var ConfigurationManagerInterface - */ - protected $configurationManager; - - /** - * @param ConfigurationManagerInterface $configurationManager - */ - public function __construct(ConfigurationManagerInterface $configurationManager) - { - $this->configurationManager = $configurationManager; - } - public function getNormalizedFilterSettings(array $filterSettings = [], array $forcedConceptUids = []): array { $optionsResolver = new OptionsResolver(); @@ -323,8 +311,9 @@ class FilterService implements SingletonInterface protected function getTypoScriptSettings(): array { - $settings = $this - ->configurationManager + /** @var ConfigurationManager $configurationManager */ + $configurationManager = GeneralUtility::makeInstance(ConfigurationManager::class); + $settings = $configurationManager ->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT); return $settings['plugin.']['tx_epproducts.']['settings.']; diff --git a/public/typo3conf/ext/ep_products/Classes/Service/ProductDataService.php b/public/typo3conf/ext/ep_products/Classes/Service/ProductDataService.php index cf400d75..4c78fac1 100644 --- a/public/typo3conf/ext/ep_products/Classes/Service/ProductDataService.php +++ b/public/typo3conf/ext/ep_products/Classes/Service/ProductDataService.php @@ -77,11 +77,15 @@ class ProductDataService implements SingletonInterface * * @return array */ - public function getTeaser(array $filterSettings): array + public function getTeaser(array $filterSettings): ?array { $teaserData = $this->productRepository->getTeasers($filterSettings); $teasers = $this->preprocessTeasergroup($teaserData); + if (0 === count($teasers)) { + return null; + } + return reset($teasers); }