Commit Graph
10 Commits
Author SHA1 Message Date
frommeandClaude Opus 5.5 e70c5f48d5 fix: date tables and group booking links on TYPO3 13
- Uri\ProductViewHelper builds links with the Extbase UriBuilder (no
  controller context in v13), also from content elements
- Null-safe reads of missing row fields and plugin settings, with the
  values PHP 7.4 produced
- /gruppe/ without a product redirects to the search page again
  instead of failing on findByIdentifier(null)

Checked against the TYPO3 10 project: 355 of 359 /gruppe/{product}
pages identical (the rest differ by newer content), all product pages
render, 377 of 396 date tables load (the 19 others fail on TYPO3 10
too: products without a hotel).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 15:03:10 +02:00
frommeandClaude Opus 5.5 34f2d55f2c fix: render product detail pages on TYPO3 13
- ObjectManager replaced by GeneralUtility::makeInstance(), the
  services fetched that way are public
- QueryBuilder::add('orderBy') and the remaining execute() calls,
  detailAction returns a response
- PHP 8 warnings for missing array keys (same values as on PHP 7.4)
- Webcam images are external URLs: plain img tag, f:image only takes
  FAL files
- typo3_encore 7 needs the PKG:ssch/typo3-encore: prefix and
  external = 1 so TYPO3's path check does not drop the entry
- CDN image rewriting as a middleware instead of EXT:replacer, which
  is not PHP 8.5 clean; same pattern, only for page responses
- vhs 8 for the ViewHelpers the templates use
- OpenGraph meta tag manager skips the backend
- myEpUrl with trailing slash as in production

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:34:10 +02:00
frommeandClaude Opus 5.5 4eb1de2e29 fix: restore commented example in DDEV config
The additional_hostnames edit also replaced a commented example and left
uncommented list items behind, which made the YAML unreadable.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:31:36 +02:00
frommeandClaude Opus 5.5 a598339f67 feat: boot TYPO3 13 with site configs and the theme build
- Site configs for the seven live sites from EP/website, Development
  base variants on *-ep13.ddev.site (DDEV additional_hostnames)
- Webpack Encore build moved to the root, output in
  packages/ep_theme/Resources/Public, public path /_assets/<hash>
- Search UI removed from the kept layouts and partials, as the static
  export already does
- Daytrip room selection and the contingent chain removed (contingent
  import is not ported; no daytrip product has current contingents)
- f:uri.action is final in v13: Uri\AjaxViewHelper invokes it
- Remaining QueryBuilder::execute() and array logicalAnd() calls,
  addRootLineFields, TSFE getData, legacy typo3conf/ext template path
- Rector skips the plugin-to-CType rules; plugins stay list_type

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:25:01 +02:00
frommeandClaude Opus 5.5 41b9302d9b refactor: apply TYPO3 13 Rector and Fractor migrations
Automated migrations from rector.php and fractor.php (TCA, Extbase
controllers and annotations, ViewHelpers, QueryBuilder, FlexForms,
TypoScript conditions).

Plugins stay list_type plugins: Rector switched them to content
element types, which needs a tt_content migration. That is deferred to
the TYPO3 14 step, where list_type is removed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:14:38 +02:00
frommeandClaude Opus 5.5 1b958a6084 chore: set composer platform to production PHP 8.5.11
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:13:45 +02:00
frommeandClaude Opus 5.5 b890a55115 refactor: remove code outside the first-goal scope
Keeps what the product detail pages, the AJAX date/price tables, the
API endpoints (/api/hotel, /api/product, /api/content/*), the chatbot
content-only page type and the MyE&P import need, determined by a class
and template reference closure from those entry points.

Removed: search, watchlist, calendar/contingent AJAX, snow report and
contingent imports, groups swiss, iCal, reseller export, team/EpTeam,
newsletter, CSV feeds, BpnConnect client, backend modules and page
module previews, Tcemain hooks, scheduler tasks, staging and static
search middlewares, forms and their finishers, gridelements and news
templates, and the plugins and content elements not used on product
pages.

The SFTP and local XML import sources are gone; the import reads
MyE&P only (ApiImportSource as ProductImportSource) and runs as
ep:import-dates.

ext_tables.sql stays complete so no table or column is dropped while
the TYPO3 10 project shares the data.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:08:06 +02:00
frommeandClaude Opus 5.5 a46918de9d 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]>
2026-10-21 14:01:20 +02:00
frommeandClaude Opus 5.5 59afaecea1 chore: add container, encore, redirects and upgrade tooling
Adds b13/container and ssch/typo3-encore as the base for the theme,
typo3/cms-redirects for the existing sys_redirect records and
typo3/cms-lowlevel. Rector and Fractor are configured for the
TYPO3 10 to 13 migration of the packages.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:01:13 +02:00
Björn Fromme ae1ae3cb38 chore: initial commit of fresh project 2026-10-21 13:24:40 +02:00