diff --git a/public/typo3conf/ext/ep_products/Classes/Command/DateCommandController.php b/public/typo3conf/ext/ep_products/Classes/Command/DateCommandController.php index 15271e8a..fafe871b 100644 --- a/public/typo3conf/ext/ep_products/Classes/Command/DateCommandController.php +++ b/public/typo3conf/ext/ep_products/Classes/Command/DateCommandController.php @@ -84,7 +84,8 @@ class DateCommandController extends Command $output->writeln(sprintf('%d rows imported.', $count )); $settings = $this->getSettings(); $resellerPageUid = $settings['resellerExportPageUid']; - $this->cacheService->clearPageCache($resellerPageUid); + $travelInfoPageUid = $settings['travelInfoPageUid']; + $this->cacheService->clearPageCache([$resellerPageUid, $travelInfoPageUid]); return 0; } diff --git a/public/typo3conf/ext/ep_products/Classes/Task/ImportDatesTask.php b/public/typo3conf/ext/ep_products/Classes/Task/ImportDatesTask.php index 266ceb4d..572c25de 100644 --- a/public/typo3conf/ext/ep_products/Classes/Task/ImportDatesTask.php +++ b/public/typo3conf/ext/ep_products/Classes/Task/ImportDatesTask.php @@ -29,22 +29,36 @@ namespace EP\EpProducts\Task; use EP\EpProducts\Service\DateImportService; use TYPO3\CMS\Core\Utility\GeneralUtility; -use TYPO3\CMS\Extbase\Object\ObjectManager; +use TYPO3\CMS\Extbase\Configuration\ConfigurationManager; +use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface; +use TYPO3\CMS\Extbase\Service\CacheService; use TYPO3\CMS\Scheduler\Task\AbstractTask; class ImportDatesTask extends AbstractTask { - public function execute() + public function execute(): bool { - /** @var \TYPO3\CMS\Extbase\Object\ObjectManager $objectManager */ - $objectManager = GeneralUtility::makeInstance(ObjectManager::class); - /** @var \EP\EpProducts\Service\DateImportService $importService */ - $importService = $objectManager->get(DateImportService::class); + $importService = GeneralUtility::makeInstance(DateImportService::class); + $cacheService = GeneralUtility::makeInstance(CacheService::class); + if ($importService->isImportRequired()) { $path = GeneralUtility::getFileAbsFileName('fileadmin/xmlexport'); $importService->import($path); } + $settings = $this->getSettings(); + $travelInfoPageUid = $settings['travelInfoPageUid']; + $cacheService->clearPageCache($travelInfoPageUid); + return true; } + + protected function getSettings(): array + { + $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/Configuration/TypoScript/constants.typoscript b/public/typo3conf/ext/ep_products/Configuration/TypoScript/constants.typoscript index f62dc5c0..ec2ab3dc 100644 --- a/public/typo3conf/ext/ep_products/Configuration/TypoScript/constants.typoscript +++ b/public/typo3conf/ext/ep_products/Configuration/TypoScript/constants.typoscript @@ -34,6 +34,8 @@ plugin.tx_epproducts { defaultDetailPageUid = # cat=epproducts/110/120; type=string; label=Page UID with reseller export plugin resellerExportPageUid = + # cat=epproducts/110/130; type=string; label=Page UID with travel info plugin + travelInfoPageUid = # cat=epproducts/120/100; type=string; label=Exclude products with concept UIDs from search result (CSV) excludedConceptUids = # cat=epproducts/120/110; type=string; label=Exclude regions with these UIDs from filter options (CSV) diff --git a/public/typo3conf/ext/ep_products/Configuration/TypoScript/setup.typoscript b/public/typo3conf/ext/ep_products/Configuration/TypoScript/setup.typoscript index cc1bf015..a3d4585b 100644 --- a/public/typo3conf/ext/ep_products/Configuration/TypoScript/setup.typoscript +++ b/public/typo3conf/ext/ep_products/Configuration/TypoScript/setup.typoscript @@ -38,6 +38,7 @@ plugin.tx_epproducts { priceTableRoomTypes = {$plugin.tx_epproducts.settings.priceTableRoomTypes} searchLogIgnoreIps = {$plugin.tx_epproducts.settings.searchLogIgnoreIps} groupsPageUid = {$plugin.tx_eptheme.settings.groupsPageUid} + travelInfoPageUid = {$plugin.tx_eptheme.settings.travelInfoPageUid} groupsContactFormPageUid = {$plugin.tx_eptheme.settings.groupsContactFormPageUid} coronaUpdatesPageUid = {$plugin.tx_eptheme.settings.coronaUpdatesPageUid} googleMapsApiKey = {$plugin.tx_eptheme.settings.googleMapsApiKey}