chore: retire the snow report and search bar islands
They only served the static pages of the hybrid setup, which are retired: TYPO3 13 renders search bar and snow reports in the page itself. Removed are the page types 1705 (/snowreport) and 1706/1707 (/searchbar, /searchbar-collapsed), their PageType enhancer entries and the id wrapper of the snow report list that the static pages selected. Also gone: the remarks about static pages and docroots in ReferrerMiddleware and .htaccess. The form page type (/form, 1704) stays for now; forms move off it in a separate step. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
f0b23b37b9
commit
114a45aed3
10 files changed
+46
-116
No files matched your search
@@ -284,9 +284,6 @@ routeEnhancers:
|
||||
/html: 1702
|
||||
/form: 1704
|
||||
/captcha: 3413
|
||||
searchbar: 1706
|
||||
searchbar-collapsed: 1707
|
||||
/snowreport: 1705
|
||||
.json: 1803
|
||||
.ical: 1710
|
||||
sitemap.xml: 1533906435
|
||||
|
||||
@@ -87,7 +87,6 @@ routeEnhancers:
|
||||
map:
|
||||
/form: 1704
|
||||
/captcha: 3413
|
||||
/snowreport: 1705
|
||||
routes:
|
||||
-
|
||||
route: robots.txt
|
||||
|
||||
@@ -68,7 +68,6 @@ routeEnhancers:
|
||||
/html: 1702
|
||||
/form: 1704
|
||||
/captcha: 3413
|
||||
/snowreport: 1705
|
||||
sitemap.xml: 1533906435
|
||||
yoast-snippetpreview.json: 1480321830
|
||||
routes:
|
||||
|
||||
@@ -52,7 +52,6 @@ routeEnhancers:
|
||||
/html: 1702
|
||||
/form: 1704
|
||||
/captcha: 3413
|
||||
/snowreport: 1705
|
||||
sitemap.xml: 1533906435
|
||||
yoast-snippetpreview.json: 1480321830
|
||||
routes:
|
||||
|
||||
@@ -52,7 +52,6 @@ routeEnhancers:
|
||||
/html: 1702
|
||||
/form: 1704
|
||||
/captcha: 3413
|
||||
/snowreport: 1705
|
||||
sitemap.xml: 1533906435
|
||||
yoast-snippetpreview.json: 1480321830
|
||||
routes:
|
||||
|
||||
@@ -13,8 +13,7 @@ use TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication;
|
||||
/**
|
||||
* Links to a form page carry the uid of the page they come from (?ref=123, e.g. the enquiry
|
||||
* button of a product page). Its URL is kept in the session until AddReferrerFinisher puts it
|
||||
* into the submission. On static pages the parameter reaches TYPO3 with the request that loads
|
||||
* the form (see the form placeholder of the static export).
|
||||
* into the submission.
|
||||
*/
|
||||
class ReferrerMiddleware implements MiddlewareInterface
|
||||
{
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
# 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
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
# The snow reports of a page without the page around them (/path/snowreport). The static pages of
|
||||
# the hybrid setup load this with htmx and replace the snow reports of the export with it: the
|
||||
# page URL itself is a static file that never reaches TYPO3, and the snow reports are imported
|
||||
# daily (ep:import-snowreport, which flushes the page cache). Each list carries
|
||||
# id="snowreport-<content uid>" (Templates/Snowreport/List.html) for hx-select.
|
||||
|
||||
tx_eptheme_snowreport = PAGE
|
||||
tx_eptheme_snowreport {
|
||||
typeNum = 1705
|
||||
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 = CONTENT
|
||||
10 {
|
||||
table = tt_content
|
||||
select {
|
||||
where = {#CType} = 'list' AND {#list_type} = 'epproducts_snowreport_list'
|
||||
orderBy = sorting
|
||||
}
|
||||
# Only the plugin: header and frame stay on the static page
|
||||
renderObj =< tt_content.list.20.epproducts_snowreport_list
|
||||
}
|
||||
}
|
||||
@@ -7,55 +7,48 @@
|
||||
<f:layout name="Default"/>
|
||||
|
||||
<f:section name="Main">
|
||||
<f:comment>
|
||||
The id lets the static pages of the hybrid setup pick this list, with the spacing of
|
||||
ep:container, out of the snow report page type (/path/snowreport), which renders every
|
||||
snow report plugin of a page.
|
||||
</f:comment>
|
||||
<div id="snowreport-{data.uid}">
|
||||
<ep:container data="{data}">
|
||||
<div class="flex flex-col space-y-2">
|
||||
<f:for each="{list}" as="snowreport">
|
||||
<div class="grid md:grid-cols-3 md:gap-y-0">
|
||||
<div class="md:col-span-1 bg-ep-primary-dark p-2 flex items-start space-x-2">
|
||||
{ep:icon(icon: 'flag-{snowreport.countryCode -> f:format.case(mode: \'lower\')}', class: 'w-8 h-6')}
|
||||
<f:link.typolink parameter="{snowreport.regionDetailPage}"
|
||||
title="{snowreport.regionName}"
|
||||
class="text-white uppercase text-lg">
|
||||
{snowreport.regionName}
|
||||
</f:link.typolink>
|
||||
</div>
|
||||
<div class="md:col-span-2 bg-ep-primary-dark/20 p-2">
|
||||
<f:if condition="{snowreport.inSeason}">
|
||||
<f:then>
|
||||
<ul class="flex flex-col space-y-1">
|
||||
<li>
|
||||
<strong>Berg/Tal:</strong> {snowreport.snow_level_mountain -> v:or(alternative: '-')}/{snowreport.snow_level_valley -> v:or(alternative: '-')} cm
|
||||
</li>
|
||||
<li>
|
||||
<strong>Qualität:</strong> {snowreport.snow_quality}
|
||||
</li>
|
||||
<li>
|
||||
<strong>Geöffnete Lifte:</strong> <f:if condition="{snowreport.lifts_opened} > 0"><f:then>{snowreport.lifts_opened}/{snowreport.lifts_total}</f:then><f:else>keine Angabe</f:else></f:if>
|
||||
</li>
|
||||
<li>
|
||||
<strong>Letzter Schneefall:</strong> {f:if(condition: snowreport.last_snowfall, then: '{snowreport.last_snowfall -> f:format.date(format: \'d.m.Y\')}', else: 'keine Angabe')}
|
||||
</li>
|
||||
<li>
|
||||
<strong>Letzte Akt.:</strong> {snowreport.last_update -> f:format.date(format: 'd.m.Y')}
|
||||
</li>
|
||||
</ul>
|
||||
</f:then>
|
||||
<f:else>
|
||||
Saison vom {snowreport.seasonStart -> f:format.date(format: 'd.m.Y')} bis {snowreport.seasonEnd -> f:format.date(format: 'd.m.Y')}
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
<ep:container data="{data}">
|
||||
<div class="flex flex-col space-y-2">
|
||||
<f:for each="{list}" as="snowreport">
|
||||
<div class="grid md:grid-cols-3 md:gap-y-0">
|
||||
<div class="md:col-span-1 bg-ep-primary-dark p-2 flex items-start space-x-2">
|
||||
{ep:icon(icon: 'flag-{snowreport.countryCode -> f:format.case(mode: \'lower\')}', class: 'w-8 h-6')}
|
||||
<f:link.typolink parameter="{snowreport.regionDetailPage}"
|
||||
title="{snowreport.regionName}"
|
||||
class="text-white uppercase text-lg">
|
||||
{snowreport.regionName}
|
||||
</f:link.typolink>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</ep:container>
|
||||
</div>
|
||||
<div class="md:col-span-2 bg-ep-primary-dark/20 p-2">
|
||||
<f:if condition="{snowreport.inSeason}">
|
||||
<f:then>
|
||||
<ul class="flex flex-col space-y-1">
|
||||
<li>
|
||||
<strong>Berg/Tal:</strong> {snowreport.snow_level_mountain -> v:or(alternative: '-')}/{snowreport.snow_level_valley -> v:or(alternative: '-')} cm
|
||||
</li>
|
||||
<li>
|
||||
<strong>Qualität:</strong> {snowreport.snow_quality}
|
||||
</li>
|
||||
<li>
|
||||
<strong>Geöffnete Lifte:</strong> <f:if condition="{snowreport.lifts_opened} > 0"><f:then>{snowreport.lifts_opened}/{snowreport.lifts_total}</f:then><f:else>keine Angabe</f:else></f:if>
|
||||
</li>
|
||||
<li>
|
||||
<strong>Letzter Schneefall:</strong> {f:if(condition: snowreport.last_snowfall, then: '{snowreport.last_snowfall -> f:format.date(format: \'d.m.Y\')}', else: 'keine Angabe')}
|
||||
</li>
|
||||
<li>
|
||||
<strong>Letzte Akt.:</strong> {snowreport.last_update -> f:format.date(format: 'd.m.Y')}
|
||||
</li>
|
||||
</ul>
|
||||
</f:then>
|
||||
<f:else>
|
||||
Saison vom {snowreport.seasonStart -> f:format.date(format: 'd.m.Y')} bis {snowreport.seasonEnd -> f:format.date(format: 'd.m.Y')}
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</ep:container>
|
||||
</f:section>
|
||||
|
||||
</html>
|
||||
+4
-5
@@ -298,8 +298,8 @@ AddDefaultCharset utf-8
|
||||
RewriteEngine On
|
||||
|
||||
# Legacy and campaign domains, consolidated onto their current host (from TYPO3 10's
|
||||
# public/.htaccess, which the static docroots carry until the vhosts point here). These have to
|
||||
# stay ahead of the Force SSL block and of TYPO3's catch-all at the end of this file.
|
||||
# public/.htaccess). These have to stay ahead of the Force SSL block and of TYPO3's catch-all
|
||||
# at the end of this file.
|
||||
RewriteRule ^buchung/(.*)$ https://bpn.ep-reisen.de/$1 [R=302,L,QSA]
|
||||
|
||||
RewriteCond %{HTTP_HOST} ^cllt\-touristik\.at$ [NC]
|
||||
@@ -370,11 +370,10 @@ AddDefaultCharset utf-8
|
||||
# Rules to set ApplicationContext based on hostname
|
||||
#RewriteCond %{HTTP_HOST} ^dev\.example\.com$
|
||||
#RewriteRule .? - [E=TYPO3_CONTEXT:Development]
|
||||
# Test vhost (base variant in config/sites/ep-reisen); the production vhosts point here site by
|
||||
# site (phase F), until then the static docroots have their own .htaccess
|
||||
# Test vhost (base variant in config/sites/ep-reisen)
|
||||
RewriteCond %{HTTP_HOST} ^staging\.ep-reisen\.de$
|
||||
RewriteRule .? - [E=TYPO3_CONTEXT:Production/Staging]
|
||||
# The frontend lives on www.ep-reisen.de (static export + TYPO3 13); here it would be duplicate
|
||||
# The frontend lives on www.ep-reisen.de; here it would be duplicate
|
||||
# content, so only the backend and the files it loads stay on this host
|
||||
# (original requests only: the index.php hand-over below runs through these rules again)
|
||||
# Logged-in backend users (be_typo_user cookie of this host) see the TYPO3 13 frontend here, to check
|
||||
|
||||
Reference in new issue
Block a user