feat: add the key-protected content-only page type for the chatbot feed
This commit is contained in:
1 parent
57b09624f4
commit
992ec19c33
6 files changed
+168
-14
No files matched your search
@@ -0,0 +1,62 @@
|
||||
# Chatbot content feed: the main content of a page, without header, navigation, footer or
|
||||
# assets. Fetched by MyE&P for pages the content manifest reports as changed; protected by
|
||||
# EP\EpProducts\Middleware\ContentPageTypeGuardMiddleware. See
|
||||
# .ddev/plans/CHATBOT-MCP-01-TYPO3-CONTENT-FEED.md §6.
|
||||
|
||||
# Plugins (the booking widget on product detail pages), forms, sub-page menus and teaser cards
|
||||
# are left out: MyE&P has trip data first-hand, and the pages and records the cards link to are
|
||||
# in the feed in their own right. The filter applies to top-level elements only; a plugin nested
|
||||
# in a grid or container element is still rendered by its parent.
|
||||
lib.contentOnly < lib.dynamicContent
|
||||
lib.contentOnly.20.select.where = colPos={register:colPos} AND CType NOT IN ({$plugin.tx_eptheme.settings.contentOnlyExcludedCTypes})
|
||||
|
||||
tx_eptheme_content_only = PAGE
|
||||
tx_eptheme_content_only {
|
||||
typeNum = 1730
|
||||
config {
|
||||
disableAllHeaderCode = 1
|
||||
disablePrefixComment = 1
|
||||
additionalHeaders.10.header = Content-Type: text/html; charset=utf-8
|
||||
additionalHeaders.20.header = X-Robots-Tag: noindex, nofollow, noarchive
|
||||
admPanel = 0
|
||||
debug = 0
|
||||
# Never written to disk: the type is key-protected, and a static file would be served
|
||||
# by .htaccess without that check ever running.
|
||||
tx_staticfilecache.disableCache = 1
|
||||
# Same reason for shared caches between us and the consumer: the TYPO3 page cache is
|
||||
# fine (the guard runs before it), a proxy storing a keyed response is not.
|
||||
sendCacheHeaders = 0
|
||||
additionalHeaders.30.header = Cache-Control: private, no-store
|
||||
}
|
||||
|
||||
10 = COA
|
||||
10 {
|
||||
wrap = <article>|</article>
|
||||
|
||||
10 = TEXT
|
||||
10.field = title
|
||||
10.htmlSpecialChars = 1
|
||||
10.wrap = <h1>|</h1>
|
||||
|
||||
# Page templates without a sidebar render colPos 0; the sidebar layouts render 3 (header),
|
||||
# 4 (content) and 2 (sidebar). colPos 1 holds teaser groups and is left out. The page
|
||||
# templates pass colPos in as data; here there is no template, so each copy sets it.
|
||||
# These must be copies (<), not references (=<): removing colPos.cObject on a reference
|
||||
# leaves the referenced cObject in place, and every column silently renders colPos 0.
|
||||
20 < lib.contentOnly
|
||||
20.5.colPos.cObject >
|
||||
20.5.colPos = 3
|
||||
|
||||
30 < lib.contentOnly
|
||||
30.5.colPos.cObject >
|
||||
30.5.colPos = 0
|
||||
|
||||
40 < lib.contentOnly
|
||||
40.5.colPos.cObject >
|
||||
40.5.colPos = 4
|
||||
|
||||
50 < lib.contentOnly
|
||||
50.5.colPos.cObject >
|
||||
50.5.colPos = 2
|
||||
}
|
||||
}
|
||||
@@ -153,6 +153,8 @@ plugin.tx_eptheme {
|
||||
xmlSitemapRootPageUid =
|
||||
# cat=eptheme/600/110; type=string; label=XML sitemap page UIDs to exclude
|
||||
xmlSitemapExcludeUids =
|
||||
# cat=eptheme/600/120; type=string; label=CTypes left out of the chatbot content-only page type (quoted, comma-separated)
|
||||
contentOnlyExcludedCTypes = 'list','form_formframework','menu_subpages','teaser_product','teaser_hotel','teaser_concept','teaser_country','teaser_region','ep_container_teasergroup'
|
||||
|
||||
# cat=eptheme/300/100; type=string; label=Cookiefirst Script
|
||||
cookieFirstScriptUrl = https://consent.cookiefirst.com/sites/ep-reisen.de-fabb1554-8932-4075-85dc-97fa68892918/consent.js
|
||||
|
||||
Reference in new issue
Block a user