diff --git a/config/sites/ep-reisen/config.yaml b/config/sites/ep-reisen/config.yaml index 80fe0c2e..402c8070 100644 --- a/config/sites/ep-reisen/config.yaml +++ b/config/sites/ep-reisen/config.yaml @@ -124,17 +124,25 @@ routeEnhancers: limitToPages: - 41 routes: - - - routePath: '/ergebnis/{filter_settings}' - _controller: 'Search::searchresult' - _arguments: - filter_settings: filterSettings - routePath: '/ergebnis' _controller: 'Search::searchresult' - requirements: - filter_settings: '[A-Z0-9%\-]+' defaultController: 'Search::searchresult' + StaticResultsPlugin: + type: Extbase + extension: EpProducts + plugin: staticresult + limitToPages: + - 1757 + routes: + - + routePath: '/{filter_settings}' + _controller: 'Search::staticresult' + _arguments: + filter_settings: encodedFilterSettings + defaultController: 'Search::staticresult' + requirements: + filter_settings: '[A-Z\d%\-]+' ResellerPlugin: type: Extbase extension: EpProducts diff --git a/public/typo3conf/ext/ep_products/Classes/Controller/SearchController.php b/public/typo3conf/ext/ep_products/Classes/Controller/SearchController.php index 2d0e6f46..f77572d7 100644 --- a/public/typo3conf/ext/ep_products/Classes/Controller/SearchController.php +++ b/public/typo3conf/ext/ep_products/Classes/Controller/SearchController.php @@ -122,11 +122,25 @@ class SearchController extends ActionController $this->view->assignMultiple([ 'detailPageUid' => $this->settings['detailPageUid'], - 'referringPageUid' => $GLOBALS['TSFE']->id, + 'referringPageUid' => $this->settings['defaultSearchPageUid'], 'filterSettings' => $filterSettings, ]); } + /** + * @param string $encodedFilterSettings + * @throws StopActionException + */ + public function staticresultAction($encodedFilterSettings) + { + $this->forward( + 'searchresult', + null, + null, + ['filterSettings' => $encodedFilterSettings] + ); + } + /** * @param SearchParams $searchParams */ diff --git a/public/typo3conf/ext/ep_products/Classes/Middleware/StaticSearchParamsMiddleware.php b/public/typo3conf/ext/ep_products/Classes/Middleware/StaticSearchParamsMiddleware.php index 41cf163a..5cb17061 100644 --- a/public/typo3conf/ext/ep_products/Classes/Middleware/StaticSearchParamsMiddleware.php +++ b/public/typo3conf/ext/ep_products/Classes/Middleware/StaticSearchParamsMiddleware.php @@ -42,7 +42,7 @@ class StaticSearchParamsMiddleware implements MiddlewareInterface use DbConnectionTrait; const PREFIX_PATH_SEGMENT = 'reiseauswahl'; - const SEARCH_RESULT_URI = '/skireisen/suche/ergebnis/'; + const SEARCH_RESULT_URI = '/skireisen/auswahl/'; const REDIRECT_RESPONSE_CODE = 302; public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface diff --git a/public/typo3conf/ext/ep_products/Configuration/TCA/Overrides/tt_content.php b/public/typo3conf/ext/ep_products/Configuration/TCA/Overrides/tt_content.php index 32393cbd..c69a73b4 100644 --- a/public/typo3conf/ext/ep_products/Configuration/TCA/Overrides/tt_content.php +++ b/public/typo3conf/ext/ep_products/Configuration/TCA/Overrides/tt_content.php @@ -17,6 +17,12 @@ call_user_func(function () { 'Suchergebnis' ); + \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( + 'EP.EpProducts', + 'staticresult', + 'statisches Suchergebnis' + ); + \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( 'EP.EpProducts', 'product_detail', diff --git a/public/typo3conf/ext/ep_products/Configuration/TypoScript/constants.typoscript b/public/typo3conf/ext/ep_products/Configuration/TypoScript/constants.typoscript index 8bb0ae81..a3160370 100644 --- a/public/typo3conf/ext/ep_products/Configuration/TypoScript/constants.typoscript +++ b/public/typo3conf/ext/ep_products/Configuration/TypoScript/constants.typoscript @@ -20,6 +20,8 @@ plugin.tx_epproducts { snowReportStoragePid = # cat=plugin.tx_epproducts//a; type=string; label=Default search page UID defaultSearchPageUid = + # cat=plugin.tx_epproducts//a; type=string; label=Default static search page UID + defaultStaticSearchPageUid = # cat=plugin.tx_epproducts//a; type=string; label=Default product detail page UID defaultDetailPageUid = # cat=plugin.tx_epproducts//a; type=string; label=Exclude products with concept UIDs from search result (CSV) diff --git a/public/typo3conf/ext/ep_products/Configuration/TypoScript/setup.typoscript b/public/typo3conf/ext/ep_products/Configuration/TypoScript/setup.typoscript index d6709fa0..6f705efd 100644 --- a/public/typo3conf/ext/ep_products/Configuration/TypoScript/setup.typoscript +++ b/public/typo3conf/ext/ep_products/Configuration/TypoScript/setup.typoscript @@ -27,6 +27,7 @@ plugin.tx_epproducts { destinationsStoragePid = {$plugin.tx_epproducts.settings.destinationsStoragePid} snowReportStoragePid = {$plugin.tx_epproducts.settings.snowReportStoragePid} defaultSearchPageUid = {$plugin.tx_epproducts.settings.defaultSearchPageUid} + defaultStaticSearchPageUid = {$plugin.tx_epproducts.settings.defaultStaticSearchPageUid} defaultDetailPageUid = {$plugin.tx_epproducts.settings.defaultDetailPageUid} excludedConceptUids = {$plugin.tx_epproducts.settings.excludedConceptUids} excludedRegionUids = {$plugin.tx_epproducts.settings.excludedRegionUids} @@ -39,6 +40,7 @@ plugin.tx_epproducts { googleMapsApiKey = {$plugin.tx_eptheme.settings.googleMapsApiKey} resellerExportPageUid = {$plugin.tx_epproducts.settings.resellerExportPageUid} ratingPageUid = {$plugin.tx_eptheme.settings.ratingPageUid} + searchPageHeaderImage = {$plugin.tx_eptheme.settings.searchPageHeaderImage} datePickerPresets { 1 { label = Silvester @@ -57,6 +59,7 @@ plugin.tx_epproducts { } } } + features.requireCHashArgumentForActionArguments = 0 } config.tx_extbase.persistence.classes { diff --git a/public/typo3conf/ext/ep_products/ext_localconf.php b/public/typo3conf/ext/ep_products/ext_localconf.php index 6de6ee23..5a409b32 100644 --- a/public/typo3conf/ext/ep_products/ext_localconf.php +++ b/public/typo3conf/ext/ep_products/ext_localconf.php @@ -57,6 +57,17 @@ $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][\EP\EpProducts\T ] ); +\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( + 'EP.' . $_EXTKEY, + 'staticresult', + [ + 'Search' => 'staticresult', + ], + [ + 'Search' => 'staticresult', + ] +); + \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'EP.' . $_EXTKEY, 'product_detail', diff --git a/public/typo3conf/ext/ep_theme/Configuration/TypoScript/Library/SearchResult.typoscript b/public/typo3conf/ext/ep_theme/Configuration/TypoScript/Library/SearchResult.typoscript deleted file mode 100644 index 332330a2..00000000 --- a/public/typo3conf/ext/ep_theme/Configuration/TypoScript/Library/SearchResult.typoscript +++ /dev/null @@ -1,18 +0,0 @@ -lib.searchresult = USER -lib.searchresult { - userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run - extensionName = EpProducts - pluginName = searchresult - vendorName = EP - controller = Search - action = searchresult - switchableControllerActions { - Search { - 1 = searchresult - } - } - settings =< plugin.tx_epproducts.settings - settings.searchPageHeaderImage = {$plugin.tx_eptheme.settings.searchPageHeaderImage} - persistence =< plugin.tx_epproducts.persistence - view =< plugin.tx_epproducts.view -} diff --git a/public/typo3conf/ext/ep_theme/Configuration/TypoScript/setup.typoscript b/public/typo3conf/ext/ep_theme/Configuration/TypoScript/setup.typoscript index 3a6d1347..13d07b0e 100644 --- a/public/typo3conf/ext/ep_theme/Configuration/TypoScript/setup.typoscript +++ b/public/typo3conf/ext/ep_theme/Configuration/TypoScript/setup.typoscript @@ -8,7 +8,6 @@ @import "EXT:ep_theme/Configuration/TypoScript/Library/SearchBar.typoscript" @import "EXT:ep_theme/Configuration/TypoScript/Library/SearchBox.typoscript" -@import "EXT:ep_theme/Configuration/TypoScript/Library/SearchResult.typoscript" @import "EXT:ep_theme/Configuration/TypoScript/Library/Sitemap.typoscript" @import "EXT:ep_theme/Configuration/TypoScript/Library/DynamicContent.typoscript" @import "EXT:ep_theme/Configuration/TypoScript/Library/ParseFunc.typoscript" diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/Page/Search.html b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/Page/Search.html index 4f6d131c..1001ea88 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/Page/Search.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/Page/Search.html @@ -5,7 +5,7 @@ - + diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/Product/Teasergroup.html b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/Product/Teasergroup.html index 0a4126d3..bc7fcaeb 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/Product/Teasergroup.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/Product/Teasergroup.html @@ -23,11 +23,13 @@ -

Alle anzeigen

+

+ + Alle anzeigen + +