ab2b840dc58f7f45578f373d187fa71bab85665d
Search teasers showed only the nights of the cheapest offer, while teaser groups list every option. They now list all nights options next to the cheapest "ab" price, like teaser groups and the watchlist do. All search filters are applied in SQL before the rows are aggregated, so the list only holds options matching the active filters (e.g. the duration filter). Co-Authored-By: Claude Opus 5.5 <[email protected]>
E&P Reisen websites (TYPO3 13)
TYPO3 13 LTS for www.ep-reisen.de and its subsites (ski-boarderweek, snowzone, semesterende-skireisen,
ski-wochenenden, …). Products, hotels, regions and dates live in packages/ep_products, templates
and assets in packages/ep_theme. Dates, prices and availability come from MyE&P (EP/myep),
which in turn reads bpn-connect.
Local setup
DDEV project: ddev start, then ddev composer install and ddev npm install && ddev npm run build.
Rebuild the assets after template changes: Tailwind purges classes it does not find in the
templates.
Documentation
- docs/cms-api.md: the API TYPO3 serves to MyE&P and the chatbot
(
/api/hotel,/api/product,/api/calendar-hotels,/api/content/*). - docs/calendars.md: price calendar, Belegungskalender and iCal feed: where the data comes from, caching, and what to check when a calendar does not load.
Deployment
deploy.php (Deployer). A deploy runs extension:setup, resets OPcache and flushes all caches.
License
GPL-2.0 or later
Languages
JavaScript
41.2%
PHP
35.4%
HTML
22.3%
SCSS
0.9%
Shell
0.2%