Fix static search results not redirecting as expected
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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',
|
||||
|
||||
-18
@@ -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
|
||||
}
|
||||
@@ -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"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<f:layout name="Page/Search"/>
|
||||
|
||||
<f:section name="Content">
|
||||
<f:cObject typoscriptObjectPath="lib.searchresult"/>
|
||||
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '0'}" />
|
||||
</f:section>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -23,11 +23,13 @@
|
||||
</f:for>
|
||||
</div>
|
||||
<f:if condition="{settings.showMoreLink}">
|
||||
<p class="text-right"><f:link.action pageUid="{settings.defaultSearchPageUid}"
|
||||
class="button"
|
||||
action="searchresult"
|
||||
controller="Search"
|
||||
arguments="{filterSettings: '{filterSettings -> ep:filterSettingsEncoder()}'}">Alle anzeigen</f:link.action></p>
|
||||
<p class="text-right">
|
||||
<f:link.action pageUid="{settings.defaultStaticSearchPageUid}" class="button"
|
||||
action="staticresult" controller="Search"
|
||||
arguments="{encodedFilterSettings: '{filterSettings -> ep:filterSettingsEncoder()}'}">
|
||||
Alle anzeigen
|
||||
</f:link.action>
|
||||
</p>
|
||||
</f:if>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
Reference in New Issue
Block a user