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]>
TYPO3 CMS Base Distribution
Get going quickly with TYPO3 CMS.
Prerequisites
- PHP 8.2
- Composer
Quickstart
composer create-project typo3/cms-base-distribution project-name ^13cd 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.
TYPO3_CONTEXT=Development php -S localhost:8000 -t public- open your browser at "http://localhost:8000"
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