The search bar in the page header is back (SearchbarController, lib.searchBar and lib.searchBarCollapsed), in the Subpage, SubpageSidebarRight and Detail layouts as on TYPO3 10; product pages get the collapsed bar and its toggle button in the main navigation again. - The bar takes no arguments, so it is the same on every page of a site and cacheable. Page types 1706/1707 (/searchbar, /searchbar-collapsed on the ep-reisen root, also under /en/) render it alone for the static pages, which replace their exported bar with it via htmx. The suffixes have no leading slash: on the root page the route path has none, so "/searchbar" would never match (as /form and /snowreport do not there either). - The form sends dateFrom, dateTo, pax, destinationType, destinationUid and priceRange by GET to the search page instead of POSTing to processSearch: no signed fields and no redirect, and URLs of about 100 characters instead of about 870. SearchController reads them (SEARCHBAR_PARAMETERS, excluded from the cHash; the results are not cached) and drops anything but a real Y-m-d date, which made DateUtility::formatDateRange() throw. processSearch is removed. - The date range label is empty without arguments, so the template no longer needs ep:dateRange. Compared with TYPO3 10: the bar's markup matches apart from the form (open, collapsed, /en/); seven searches by GET load the same filter settings and hit counts as the TYPO3 10 POST. The static pages get the island from the exporter in EP/website, see .ddev/plans/static-export-searchbar-island.patch (local only). Co-Authored-By: Claude Opus 5.5 <[email protected]>
26 lines
880 B
Plaintext
26 lines
880 B
Plaintext
# The search bar without the page around it, on the site root (/searchbar, /searchbar-collapsed).
|
|
# The static pages of the hybrid setup load it with htmx where the export had the bar: it is the
|
|
# same on every page of a site, and its options follow the imported products (ep:import-dates
|
|
# flushes the page cache). The form sends its fields by GET to the search page.
|
|
|
|
tx_eptheme_searchbar = PAGE
|
|
tx_eptheme_searchbar {
|
|
typeNum = 1706
|
|
config {
|
|
disableAllHeaderCode = 1
|
|
disablePrefixComment = 1
|
|
additionalHeaders.10.header = Content-Type: text/html; charset=utf-8
|
|
additionalHeaders.20.header = X-Robots-Tag: noindex, nofollow
|
|
admPanel = 0
|
|
debug = 0
|
|
}
|
|
|
|
10 =< lib.searchBar
|
|
}
|
|
|
|
tx_eptheme_searchbar_collapsed < tx_eptheme_searchbar
|
|
tx_eptheme_searchbar_collapsed {
|
|
typeNum = 1707
|
|
10 =< lib.searchBarCollapsed
|
|
}
|