The newsletter subscription plugin now sits in a form island like the
EXT:form forms: hx-boost posts to the page itself and only
#newsletter-island is swapped (validation errors, confirmation), with the
spinner overlay while the request runs. The id keeps htmx away from other
islands on the same page (both newsletter pages have hidden EXT:form
forms). Without JavaScript the form still posts normally.
The island markup moves from Form/Render.html into Partials/Form/Island.html,
shared by both; the form plugin's partial path is now Partials/ for that.
The comment about static pages is gone with it, static rendering is retired.
When the MyE&P API call fails, the result page shows an error with a link
back to the form instead of the thank-you message.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
News list, tag list and detail templates restored from a46918d; the
pagination widget is gone in news 14, so the TYPO3 10 paginator markup
now sits on the core sliding window pagination (pagination URLs change).
German labels for news committed. Production needs the news upgrade
wizards (the 5 plugin elements become the split news plugins).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Restored from a46918d, TCA ported to TYPO3 13. Their markup matches
TYPO3 10 on every page that renders. Headers with the default layout
stay hidden, as on TYPO3 10.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The .form-island wrapper existed only in the form page type (/form), so
on pages TYPO3 13 renders completely (e.g. the EP ambassador page) the
form's hx-target="closest .form-island" found nothing and submitting did
nothing. The island with its loading overlay now comes from the form
plugin's template (Render.html), on full pages and in /form alike; the
page type renders just the plugin again.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The static export replaced every EXT:form form with a contact notice. The
forms are back, rendered by TYPO3 13 and embedded in the static pages:
- Page type 1704 (/<page>/form) renders only the form plugin of a page,
inside a .form-island element. Every form posts to that URL
(renderingOptions.additionalParams), because on www the page URL is a
static file that never reaches TYPO3. htmx swaps the island in place:
validation errors, multi-step pages and confirmations. A redirect to an
htmx request becomes HX-Redirect (HtmxRedirectMiddleware), so Redirect
finishers send the browser to the thank-you page.
- While a request runs, an overlay with a spinner (as in MyE&P) covers
the form. Styled inside the island: the static pages load the CSS of
the TYPO3 10 export.
- The bw_captcha image comes from /<page>/captcha for the same reason.
Both suffixes are in the PageType enhancer of every site with forms
(semesterende gets one with default '' to keep its URLs).
- Ported from TYPO3 10: form setup, templates and partials, the MyE&P
address finisher, the job application finisher with the MyE&P Team
API client (epTeamApi* in secrets.php), the page URL/referrer finisher
with ReferrerMiddleware (?ref=), the e-mail layout without the system
footer, bw_captcha 5 and form_element_linked_checkbox 6. The address
check forms are dropped.
- German language packs (EXT:form messages): availableLanguages = de,
fetched on every deploy (typo3:language:update).
- The checkbox partials passed null to VHS' substring, which PHP 8.5
reports as deprecated.
- DDEV no longer turns deprecations into exceptions, matching
production: EXT:form's RenderFormValueViewHelper uses null as an array
offset for empty optional fields (core bug, also in 13.4.37).
The static pages get their placeholders from the exporter in EP/website,
see .ddev/plans/static-export-form-islands.patch (local only).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
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]>
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]>
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]>
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]>