chore: copy ep_products and ep_theme from EP/website@9593cc8

Copied unchanged from public/typo3conf/ext/ of EP/website at
9593cc8631354f8a363d6609de8b7433f669a9a0 (Git-tracked files only).
History stays in the old repository. Only composer.json files are
added so the extensions install as path packages.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
frommeandClaude Opus 5.5 committed 2026-10-21 14:01:20 +02:00
1 parent 59afaecea1
commit a46918de9d
778 files changed
+67000 -2

No files matched your search

@@ -0,0 +1,24 @@
@import 'EXT:ep_products/Configuration/TypoScript/setup.typoscript'
plugin.tx_epproducts {
view {
layoutRootPaths.10 = EXT:ep_theme/Resources/Private/Layouts/Product/
templateRootPaths.10 = EXT:ep_theme/Resources/Private/Templates/
partialRootPaths.10 = EXT:ep_theme/Resources/Private/Partials/
}
settings {
teaserTextMaxChars = {$plugin.tx_eptheme.settings.teaserTextMaxChars}
infoPageUid = {$plugin.tx_eptheme.settings.infoPageUid}
defaultAjaxUid = {$plugin.tx_eptheme.settings.defaultAjaxUid}
defaultContactFormPageUid = {$plugin.tx_eptheme.settings.defaultContactFormPageUid}
phoneNumber = {$plugin.tx_eptheme.settings.phoneNumber}
bpnBookingUrlTemplateCode = {$plugin.tx_eptheme.settings.bpnBookingUrlTemplateCode}
showSkipassBadge = {$plugin.tx_eptheme.settings.showSkipassBadge}
ratingWidgetLabel = {$plugin.tx_eptheme.settings.ratingWidgetLabel}
skipassPageUid = {$plugin.tx_eptheme.settings.skipassPageUid}
conceptsPageUid = {$plugin.tx_eptheme.settings.conceptsPageUid}
mapTileUrl = {$plugin.tx_eptheme.settings.mapTileUrl}
mapApiKey = {$plugin.tx_eptheme.settings.mapApiKey}
mapAttribution = {$plugin.tx_eptheme.settings.mapAttribution}
}
}
@@ -0,0 +1,14 @@
@import 'EXT:fluid_styled_content/Configuration/TypoScript/setup.typoscript'
lib.contentElement {
layoutRootPaths.20 = EXT:ep_theme/Resources/Private/Layouts/FluidStyledContent
templateRootPaths.20 = EXT:ep_theme/Resources/Private/Templates/FluidStyledContent
partialRootPaths.20 = EXT:ep_theme/Resources/Private/Partials
settings < plugin.tx_eptheme.settings
settings.themekey = {$plugin.tx_eptheme.settings.themekey}
settings.defaultAjaxUid = {$plugin.tx_eptheme.settings.defaultAjaxUid}
settings.mapTileUrl = {$plugin.tx_eptheme.settings.mapTileUrl}
settings.mapApiKey = {$plugin.tx_eptheme.settings.mapApiKey}
settings.mapAttribution = {$plugin.tx_eptheme.settings.mapAttribution}
}
@@ -0,0 +1,30 @@
@import 'EXT:form/Configuration/TypoScript/setup.typoscript'
@import 'EXT:form_element_linked_checkbox/Configuration/TypoScript/setup.typoscript'
@import 'EXT:bw_captcha/Configuration/TypoScript/setup.typoscript'
plugin.tx_form.view {
templateRootPaths.10 = EXT:ep_theme/Resources/Private/Templates/Form/
}
plugin.tx_form.settings.yamlConfigurations {
1630994710 = EXT:ep_theme/Configuration/Yaml/FormsBase.yaml
1630994711 = EXT:ep_theme/Configuration/Yaml/FormFinishersFrontend.yaml
}
module.tx_form.settings.yamlConfigurations {
1630994710 = EXT:ep_theme/Configuration/Yaml/FormsBase.yaml
1630994711 = EXT:ep_theme/Configuration/Yaml/FormFinishersBackend.yaml
}
plugin.tx_bwcaptcha.settings {
charset = abcdefghjkmnpqrtuvwxy34679
length = 4
width = 220
height = 60
}
# Requests with a malformed type (e.g. ?type=03413) bypass the bw_captcha middleware's
# strict string check and get rendered as this empty PAGE. If it were cacheable, genuine
# ?type=3413 requests would hit that cache entry, TypoScript would never be parsed and
# the middleware would crash on empty settings.
captcha.config.no_cache = 1
@@ -0,0 +1,20 @@
@import 'EXT:gridelements/Configuration/TypoScript/setup.typoscript'
tt_content.gridelements_pi1.20.10.setup {
quarters < lib.gridelements.defaultGridSetup
quarters {
cObject = FLUIDTEMPLATE
cObject {
templateName = Quarters
templateRootPaths.0 = EXT:ep_theme/Resources/Private/Templates/Gridelements/
layoutRootPaths.0 = EXT:ep_theme/Resources/Private/Layouts/Gridelements/
partialRootPaths.0 = EXT:ep_theme/Resources/Private/Partials/
}
}
thirds < .quarters
thirds.cObject.templateName = Thirds
halves < .quarters
halves.cObject.templateName = Halves
halfAndTwoQuarters < .quarters
halfAndTwoQuarters.cObject.templateName = HalfAndTwoQuarters
}
@@ -0,0 +1,13 @@
@import 'EXT:news/Configuration/TypoScript/setup.txt'
plugin.tx_news {
view {
layoutRootPaths.100 = EXT:ep_theme/Resources/Private/Layouts/News/
templateRootPaths.100 = EXT:ep_theme/Resources/Private/Templates/News/
partialRootPaths.100 = EXT:ep_theme/Resources/Private/Partials/News/
widget.GeorgRinger\News\ViewHelpers\Widget\PaginateViewHelper.templateRootPath = EXT:ep_theme/Resources/Private/Templates/News/
}
settings {
tagListPageUid = {$plugin.tx_eptheme.settings.blogTagListPageUid}
}
}
@@ -0,0 +1,26 @@
config.tx_replacer {
enable_regex = 1
# Only images go to the CDN. The theme's own css/js/fonts are served by the production
# host: they are already minified by Webpack, gzipped by mod_deflate and content-hashed
# for a year of immutable browser caching, and keeping them on the page's own origin
# means they arrive over the connection the browser has already opened rather than
# costing a second DNS lookup and TLS handshake on the critical path.
#
# It also keeps them clear of the pull zone's habit of occasionally wedging a single
# cache key (10.0s -> 504 errorcode 106 until that key is purged, while the origin
# serves the same bytes in under 100ms). For an image that degrades one element; for
# js/main.<hash>.js it would take every visitor's JavaScript down.
#
# typo3temp is scoped to generated images on purpose - assets/compressed holds other
# extensions' concatenated css/js, which belongs on the origin for the same reason.
# The quote character is captured rather than matched literally, so url() values
# written with single quotes are rewritten too.
search {
10 = /(["'])\/?(fileadmin|uploads|typo3temp\/assets\/(?:_processed_|images))/
}
replace {
10 = $1https://cdn.ep-reisen.de/$2
}
}
@@ -0,0 +1,18 @@
@import 'EXT:seo/Configuration/TypoScript/XmlSitemap/setup.typoscript'
["{$plugin.tx_eptheme.settings.bookingLinksPid}" > "0"]
plugin.tx_seo {
config {
xmlSitemap {
sitemaps {
pages {
config {
excludedDoktypes = 4,1701,1702,1803
additionalWhere = AND pid NOT IN ({$plugin.tx_eptheme.settings.bookingLinksPid}) AND no_index = 0
}
}
}
}
}
}
[END]
@@ -0,0 +1,10 @@
@import 'EXT:typo3_encore/Configuration/TypoScript/setup.typoscript'
plugin.tx_typo3encore {
settings {
builds {
EpThemeConfig = EXT:ep_theme/Resources/Public
}
preload.enable = 0
}
}