Files
typo3-13/packages/ep_theme/Configuration/Sets/Theme/settings.definitions.yaml
T
frommeandClaude Opus 5.5 863dd9de1a feat: site settings are edited in the backend, per environment
The constants of the sites become editable in Site Management >
Settings (admins only in TYPO3 13.4). settings.definitions.yaml of the
set ep/theme defines all 116 constants plus googleTagManagerId, with the
labels and categories of their constant editor annotations and today's
constants.typoscript values as defaults. Every setting is a string,
yes/no ones with a select of exactly '0' and '1': a bool setting would
hand '' instead of '0' to TypoScript.

config/sites/*/settings.yaml become shared files on the server and leave
git, like settings.php: production is leading, so backend edits survive
deploys, and each environment keeps its own values. Nine settings nobody
reads (twitterUrl, vimeoUrl, cookiefirstKey, ...) were dropped locally;
on production they stay in the seeded files until removed there.

deploy:check:site-settings aborts before anything else touches the
server if one of the shared files is missing or empty: deploy:shared
would create it empty, silently resetting that site to the defaults.

Rollout, after the site set is live: seed the shared files from the
live release once, then deploy:
  cd <deploy_path> && for f in current/config/sites/*/settings.yaml; do
    mkdir -p "shared/${f#current/}" && rmdir "shared/${f#current/}" &&
    cp -p "$f" "shared/${f#current/}"; done

Verified locally: the resolved setup of 43 pages is unchanged and only
the nine unused constants are gone (switched state); the root template
state is unchanged; all 1912 frontend URLs are identical.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 12:05:23 +01:00

647 lines
20 KiB
YAML

categories:
epTheme:
label: 'E&P Theme'
epTheme.pages:
label: 'Seiten und Navigation'
parent: epTheme
epTheme.contact:
label: Kontakt
parent: epTheme
epTheme.display:
label: Darstellung
parent: epTheme
epTheme.events:
label: Events
parent: epTheme
epTheme.services:
label: 'Dienste und Tracking'
parent: epTheme
epTheme.social:
label: 'Social Media'
parent: epTheme
epTheme.seo:
label: 'Sitemap und Feeds'
parent: epTheme
epTheme.records:
label: Datensätze
parent: epTheme
epProducts:
label: 'E&P Produkte'
epProducts.storage:
label: Speicherorte
parent: epProducts
epProducts.pages:
label: Seiten
parent: epProducts
epProducts.search:
label: 'Suche und Filter'
parent: epProducts
epProducts.groups:
label: Gruppenanfragen
parent: epProducts
epProducts.misc:
label: Sonstiges
parent: epProducts
settings:
plugin.tx_eptheme.settings.themekey:
label: 'Theme key'
type: 'string'
default: 'ep'
category: 'epTheme.pages'
plugin.tx_eptheme.settings.topNavPid:
label: 'Top navigation PID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.mainNavPid:
label: 'Main navigation PID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.mobileNavPid:
label: 'Mobile navigation PID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.footerNavPid:
label: 'Footer navigation PID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.defaultHomeUid:
label: 'Default homepage UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.mainSitePid:
label: 'Main site PID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.logoLink:
label: 'Link to apply to logo (overrides defaultHomeUid)'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.defaultAjaxUid:
label: 'Default page UID for ajax requests'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.defaultContactFormPageUid:
label: 'Default contact form page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.legalNoticePageUid:
label: 'Legal notice page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.termsAndConditionsPageUid:
label: 'Terms and conditions page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.dataProtectionPageUid:
label: 'Data protection page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.imageCreditsPageUid:
label: 'Image credits page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.cookiePolicyPageUid:
label: 'Cookie policy page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.faqPageUid:
label: 'FAQ page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.infoPageUid:
label: 'Info page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.groupsPageUid:
label: 'Groups page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.blogDetailPageUid:
label: 'Blog detail page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.blogTagListPageUid:
label: 'Blog tag list page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.groupsContactFormPageUid:
label: 'Groups contact form page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.ratingPageUid:
label: 'Rating page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.watchlistPageUid:
label: 'Watchlist page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.skipassPageUid:
label: 'Skipass info page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.englishPageUid:
label: 'English page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.germanPageUid:
label: 'German page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.conceptsPageUid:
label: 'Concepts page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.myEpPageUid:
label: 'My E&P page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.bookingLinksPid:
label: 'Booking links PID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.groupsPricePopupPageUid:
label: 'Groups price popup page UID'
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.travelAlertPageUid:
label: "'Reisen Alert' page UID"
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.coronaUpdatesPageUid:
label: "'Corona Updates' page UID"
type: 'string'
default: ''
category: 'epTheme.pages'
plugin.tx_eptheme.settings.phoneNumber:
label: 'Phone number general'
type: 'string'
default: '0221 - 272 276 0'
category: 'epTheme.contact'
plugin.tx_eptheme.settings.whatsApp:
label: 'Phone number WhatsApp'
type: 'string'
default: '0221 - 272 276 0'
category: 'epTheme.contact'
plugin.tx_eptheme.settings.phoneNumberLink:
label: 'Phone number general'
type: 'string'
default: '+492212722760'
category: 'epTheme.contact'
plugin.tx_eptheme.settings.whatsAppNumberLink:
label: 'Phone number WhatsApp'
type: 'string'
default: 'https://wa.me/492212722760'
category: 'epTheme.contact'
plugin.tx_eptheme.settings.businessHoursDays:
label: 'Business hours days'
type: 'string'
default: 'Montag - Freitag'
category: 'epTheme.contact'
plugin.tx_eptheme.settings.businessHoursTime:
label: 'Business hours time'
type: 'string'
default: '08:30 bis 18:30'
category: 'epTheme.contact'
plugin.tx_eptheme.settings.contactFormToEmail:
label: 'Contact form email to'
type: 'string'
default: ''
category: 'epTheme.contact'
plugin.tx_eptheme.settings.contactFormToName:
label: 'Contact form name to'
type: 'string'
default: ''
category: 'epTheme.contact'
plugin.tx_eptheme.settings.enableContactFormAutoreply:
label: 'Enable contact form autoreply'
type: 'string'
default: '0'
category: 'epTheme.contact'
enum:
'0': Nein
'1': Ja
plugin.tx_eptheme.settings.contactFormAutoreplySubject:
label: 'Contact form autoreply subject'
type: 'string'
default: 'Ihre Anfrage bei E&P Reisen'
category: 'epTheme.contact'
plugin.tx_eptheme.settings.mapTileUrl:
label: 'Map tile URL template (without apiKey)'
type: 'string'
default: 'https://api-eu.geoapify.com/v1/tile/osm-bright/{z}/{x}/{y}.png'
category: 'epTheme.display'
plugin.tx_eptheme.settings.mapApiKey:
label: 'Map tile API key (Geoapify), restricted by referrer'
type: 'string'
default: ''
category: 'epTheme.display'
plugin.tx_eptheme.settings.mapAttribution:
label: 'Map attribution (Geoapify and OpenStreetMap credits are both required)'
type: 'string'
default: 'Powered by <a href="https://www.geoapify.com/">Geoapify</a> | &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
category: 'epTheme.display'
plugin.tx_eptheme.settings.teaserTextMaxChars:
label: 'Teasertext max characters'
type: 'string'
default: '120'
category: 'epTheme.display'
plugin.tx_eptheme.settings.defaultBodyclass:
label: 'Default bodyclass'
type: 'string'
default: 'subpage'
category: 'epTheme.display'
plugin.tx_eptheme.settings.logoImage:
label: 'Logo image'
type: 'string'
default: 'EXT:ep_theme/Resources/Public/images/logo_wide.svg'
category: 'epTheme.display'
plugin.tx_eptheme.settings.faviconPath:
label: 'Favicon folder (realfavicongenerator set, without leading/trailing slash)'
type: 'string'
default: 'fileadmin/user_upload/favicon/ep'
category: 'epTheme.display'
plugin.tx_eptheme.settings.faviconAppTitle:
label: 'Home screen title (apple-mobile-web-app-title)'
type: 'string'
default: 'E&P Reisen und Events'
category: 'epTheme.display'
plugin.tx_eptheme.settings.forceActiveTopnavUid:
label: 'Force active topnav uid'
type: 'string'
default: ''
category: 'epTheme.display'
plugin.tx_eptheme.settings.bpnBookingUrlTemplateCode:
label: 'Booking URL template code'
type: 'string'
default: 'base'
category: 'epTheme.display'
plugin.tx_eptheme.settings.searchPageHeaderImage:
label: 'Search page header image'
type: 'string'
default: ''
category: 'epTheme.display'
plugin.tx_eptheme.settings.ratingWidgetLabel:
label: 'Rating widget label'
type: 'string'
default: 'Reisebewertung'
category: 'epTheme.display'
plugin.tx_eptheme.settings.hideAreaNavigation:
label: 'Hide area/top navigation'
type: 'string'
default: '0'
category: 'epTheme.display'
enum:
'0': Nein
'1': Ja
plugin.tx_eptheme.settings.hideSearchbar:
label: 'Hide searchbar'
type: 'string'
default: '0'
category: 'epTheme.display'
enum:
'0': Nein
'1': Ja
plugin.tx_eptheme.settings.globalConceptCode:
label: 'Global concept code'
type: 'string'
default: ''
category: 'epTheme.display'
plugin.tx_eptheme.settings.eventDateDayFrom:
label: 'Event date day from'
type: 'string'
default: ''
category: 'epTheme.events'
plugin.tx_eptheme.settings.eventDateDayTo:
label: 'Event date day to'
type: 'string'
default: ''
category: 'epTheme.events'
plugin.tx_eptheme.settings.eventDateMonth:
label: 'Event date month'
type: 'string'
default: ''
category: 'epTheme.events'
plugin.tx_eptheme.settings.eventHeroClaim:
label: 'Event herounit claim'
type: 'string'
default: ''
category: 'epTheme.events'
plugin.tx_eptheme.settings.eventHeroDescription:
label: 'Event herounit description'
type: 'string'
default: ''
category: 'epTheme.events'
plugin.tx_eptheme.settings.eventDisturberHeadline:
label: 'Event disturber headline'
type: 'string'
default: 'Absolut<br>Unschlagbarer<br>Preis'
category: 'epTheme.events'
plugin.tx_eptheme.settings.eventDisturberListitems:
label: 'Event disturber list items'
type: 'string'
default: '7 Übernachtungen in Top Apartments;6 Tage Skipass Val Thoerens;Ski & Boarderweek Event-Ticket'
category: 'epTheme.events'
plugin.tx_eptheme.settings.eventDisturberButtonLabel:
label: 'Event disturber button label'
type: 'string'
default: 'Jetzt ab 249€ buchen'
category: 'epTheme.events'
plugin.tx_eptheme.settings.eventDisturberButtonLink:
label: 'Event disturber button link'
type: 'string'
default: ''
category: 'epTheme.events'
plugin.tx_eptheme.settings.forcePartnerIdSelect:
label: 'Force Partner ID selection'
type: 'string'
default: ''
category: 'epTheme.events'
enum:
'0': Nein
'1': Ja
plugin.tx_eptheme.settings.partnerIdSelectLabel:
label: 'Partner ID selection label'
type: 'string'
default: ''
category: 'epTheme.events'
plugin.tx_eptheme.settings.cookieFirstScriptUrl:
label: 'Cookiefirst Script'
type: 'string'
default: 'https://consent.cookiefirst.com/sites/ep-reisen.de-fabb1554-8932-4075-85dc-97fa68892918/consent.js'
category: 'epTheme.services'
plugin.tx_eptheme.settings.googleStaticMapsBaseUrl:
label: 'Google Static Maps Base Url'
type: 'string'
default: 'https://maps.googleapis.com/maps/api/staticmap?key=AIzaSyDDOforD1O_j4xXy2nJybC2yQqbUAw9ClY'
category: 'epTheme.services'
plugin.tx_eptheme.settings.googleMapsJsApiUrl:
label: 'Google Maps Js API Url'
type: 'string'
default: 'https://maps.googleapis.com/maps/api/js?key=AIzaSyDDOforD1O_j4xXy2nJybC2yQqbUAw9ClY'
category: 'epTheme.services'
plugin.tx_eptheme.settings.googleMapsApiKey:
label: 'Google Maps Js API Url'
type: 'string'
default: 'AIzaSyDDOforD1O_j4xXy2nJybC2yQqbUAw9ClY'
category: 'epTheme.services'
plugin.tx_eptheme.settings.canonicalBaseUrl:
label: 'Canonical base URL/Domain'
type: 'string'
default: 'https://www.ep-reisen.de'
category: 'epTheme.services'
plugin.tx_eptheme.settings.googleSiteVerification:
label: 'Google site verification'
type: 'string'
default: ''
category: 'epTheme.services'
plugin.tx_eptheme.settings.googleTagManagerId:
label: 'Google Tag Manager ID'
type: 'string'
default: ''
category: 'epTheme.services'
plugin.tx_eptheme.settings.facebookUrl:
label: 'Facebook URL'
type: 'string'
default: ''
category: 'epTheme.social'
plugin.tx_eptheme.settings.instagramUrl:
label: 'Instagram URL'
type: 'string'
default: ''
category: 'epTheme.social'
plugin.tx_eptheme.settings.youtubeUrl:
label: 'YouTube URL'
type: 'string'
default: ''
category: 'epTheme.social'
plugin.tx_eptheme.settings.tiktokUrl:
label: 'tiktok URL'
type: 'string'
default: 'https://www.tiktok.com/@ep_reisen'
category: 'epTheme.social'
plugin.tx_eptheme.settings.facebookViewContentProductUid:
label: "Facebook ViewContent 'product uid'"
type: 'string'
default: ''
category: 'epTheme.social'
plugin.tx_eptheme.settings.facebookViewContentNameInternal:
label: "Facebook ViewContent 'name internal'"
type: 'string'
default: ''
category: 'epTheme.social'
plugin.tx_eptheme.settings.xmlSitemapRootPageUid:
label: 'XML sitemap root page UID'
type: 'string'
default: ''
category: 'epTheme.seo'
plugin.tx_eptheme.settings.xmlSitemapExcludeUids:
label: 'XML sitemap page UIDs to exclude'
type: 'string'
default: ''
category: 'epTheme.seo'
plugin.tx_eptheme.settings.contentOnlyExcludedCTypes:
label: 'CTypes left out of the chatbot content-only page type (quoted, comma-separated)'
type: 'string'
default: "'list','form_formframework','menu_subpages','teaser_product','teaser_hotel','teaser_concept','teaser_country','teaser_region','ep_container_teasergroup'"
category: 'epTheme.seo'
plugin.tx_eptheme.settings.sliderStoragePid:
label: 'Slider storage PID'
type: 'string'
default: ''
category: 'epTheme.records'
plugin.tx_eptheme.settings.teamMemberStoragePid:
label: 'Teammember storage PID'
type: 'string'
default: ''
category: 'epTheme.records'
plugin.tx_eptheme.settings.disrupterStoragePid:
label: 'Disrupter storage PID'
type: 'string'
default: ''
category: 'epTheme.records'
plugin.tx_eptheme.settings.showSkipassBadge:
label: "Show 'skipass inklusive' badge"
type: 'string'
default: '1'
category: 'epTheme.records'
enum:
'0': Nein
'1': Ja
plugin.tx_eptheme.settings.badgeStoragePid:
label: 'Custom badge storage PID'
type: 'string'
default: ''
category: 'epTheme.records'
plugin.tx_epproducts.settings.productsStoragePid:
label: 'Products storage PID'
type: 'string'
default: ''
category: 'epProducts.storage'
plugin.tx_epproducts.settings.hotelsStoragePid:
label: 'Hotels storage PID'
type: 'string'
default: ''
category: 'epProducts.storage'
plugin.tx_epproducts.settings.conceptsStoragePid:
label: 'Concepts storage PID'
type: 'string'
default: ''
category: 'epProducts.storage'
plugin.tx_epproducts.settings.factsStoragePid:
label: 'Facts storage PID'
type: 'string'
default: ''
category: 'epProducts.storage'
plugin.tx_epproducts.settings.faqsStoragePid:
label: 'Faqs storage PID'
type: 'string'
default: ''
category: 'epProducts.storage'
plugin.tx_epproducts.settings.destinationsStoragePid:
label: 'Destinations storage PID'
type: 'string'
default: ''
category: 'epProducts.storage'
plugin.tx_epproducts.settings.regionsStoragePid:
label: 'Regions storage PID'
type: 'string'
default: ''
category: 'epProducts.storage'
plugin.tx_epproducts.settings.citiesStoragePid:
label: 'Cities storage PID'
type: 'string'
default: ''
category: 'epProducts.storage'
plugin.tx_epproducts.settings.teammemberStoragePid:
label: 'Teammember storage PID'
type: 'string'
default: ''
category: 'epProducts.storage'
plugin.tx_epproducts.settings.officetipStoragePid:
label: 'Officetip storage PID'
type: 'string'
default: ''
category: 'epProducts.storage'
plugin.tx_epproducts.settings.snowReportStoragePid:
label: 'Snow report storage PID'
type: 'string'
default: ''
category: 'epProducts.storage'
plugin.tx_epproducts.persistence.storagePid:
label: 'Default storage PID'
type: 'string'
default: ''
category: 'epProducts.storage'
plugin.tx_epproducts.settings.defaultSearchPageUid:
label: 'Default search page UID'
type: 'string'
default: ''
category: 'epProducts.pages'
plugin.tx_epproducts.settings.defaultDetailPageUid:
label: 'Default product detail page UID'
type: 'string'
default: ''
category: 'epProducts.pages'
plugin.tx_epproducts.settings.resellerExportPageUid:
label: 'Page UID with reseller export plugin'
type: 'string'
default: ''
category: 'epProducts.pages'
plugin.tx_epproducts.settings.travelInfoPageUid:
label: 'Page UID with travel info plugin'
type: 'string'
default: ''
category: 'epProducts.pages'
plugin.tx_epproducts.settings.excludedConceptUids:
label: 'Exclude products with concept UIDs from search result (CSV)'
type: 'string'
default: ''
category: 'epProducts.search'
plugin.tx_epproducts.settings.excludedRegionUids:
label: 'Exclude regions with these UIDs from filter options (CSV)'
type: 'string'
default: ''
category: 'epProducts.search'
plugin.tx_epproducts.settings.forcedConceptUids:
label: 'Force concept UID in all search related parts (CSV)'
type: 'string'
default: ''
category: 'epProducts.search'
plugin.tx_epproducts.settings.noInfoConceptUids:
label: "Don't show availability info for products with these concept UIDs"
type: 'string'
default: ''
category: 'epProducts.search'
plugin.tx_epproducts.settings.groupsPriceToEmail:
label: 'Email recipient for groups price inquiries'
type: 'string'
default: '[email protected]'
category: 'epProducts.groups'
plugin.tx_epproducts.settings.groupsPriceToName:
label: 'Email recipient for groups price inquiries'
type: 'string'
default: 'EP Reisen'
category: 'epProducts.groups'
plugin.tx_epproducts.settings.groupsBookingUrl:
label: 'Email recipient for groups price inquiries'
type: 'string'
default: 'https://myep.ddev.site/groups/booking/init'
category: 'epProducts.groups'
plugin.tx_epproducts.settings.priceTableRoomTypes:
label: 'Room types for pricetables (CSV)'
type: 'string'
default: '1,2,3,4,5,6,7,8,9,10'
category: 'epProducts.misc'
plugin.tx_epproducts.settings.searchLogIgnoreIps:
label: 'Ignore following IPs in searchlog'
type: 'string'
default: ''
category: 'epProducts.misc'
plugin.tx_epproducts.settings.groupInquiryFormConceptUids:
label: 'Concept UIDs to trigger inquiry form on product detail page (CSV)'
type: 'string'
default: ''
category: 'epProducts.misc'
plugin.tx_epproducts.settings.myEpUrl:
label: 'Per-site MyE&P booking URL override'
type: 'string'
default: ''
category: 'epProducts.misc'
plugin.tx_epproducts.settings.myEpStagingUrl:
label: 'Per-site MyE&P staging booking URL override'
type: 'string'
default: ''
category: 'epProducts.misc'