frommeandClaude Opus 5.5 925e24397b feat: forms on TYPO3 13, loaded into the static pages with htmx
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]>
2026-10-22 12:10:43 +02:00
2026-10-21 13:24:40 +02:00

TYPO3 CMS Base Distribution

Get going quickly with TYPO3 CMS.

Prerequisites

Quickstart

  • composer create-project typo3/cms-base-distribution project-name ^13
  • cd project-name

Note that this distribution installs most, but not all of the TYPO3 CMS core extensions. Depending on your need you might also want to install other TYPO3 extensions from packagist.org.

Setup

To start an interactive installation, you can do so by executing the following command and then follow the wizard:

composer exec typo3 setup

Setup unattended (optional)

If you're a more advanced user, you might want to leverage the unattended installation. To do this, you need to execute the following command and substitute the arguments with your own environment configuration.

export TYPO3_SETUP_ADMIN_PASSWORD=$(tr -dc "_A-Za-z0-9#=$()/" < /dev/urandom | head -c24)
composer exec -- typo3 setup \
    --no-interaction \
    --server-type=other \
    --driver=sqlite \
    --admin-username=admin \
    --admin-email="[email protected]" \
    --project-name="My TYPO3 Project" \
    --create-site="http://localhost:8000/"
echo "Admin password: ${TYPO3_SETUP_ADMIN_PASSWORD}"

Development server

While it's advised to use a more sophisticated web server such as Apache 2 or Nginx, you can instantly run the project by using PHPs` built-in web server.

Please be aware that the built-in web server is single threaded and only meant to be used for development.

Next steps

License

GPL-2.0 or later

S
Description
No description provided
Readme GPL-2.0
2.7 MiB
0 Stars 4 Watchers 0 Forks
Languages
JavaScript 41.2%
PHP 35.4%
HTML 22.3%
SCSS 0.9%
Shell 0.2%