TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:24 +02:00
commit aad9daaefd
1506 changed files with 94005 additions and 0 deletions
+171
View File
@@ -0,0 +1,171 @@
.. include:: /Includes.rst.txt
.. _apireference-events:
.. _apireference-formeditor-events:
.. _apireference-formeditor-hooks-beforeformcreate:
.. _apireference-formeditor-hooks-beforeformcreate-connect:
.. _apireference-formeditor-hooks-beforeformcreate-use:
.. _apireference-formeditor-events-beforeformiscreatedevent:
.. _apireference-formeditor-hooks-beforeformduplicate:
.. _apireference-formeditor-hooks-beforeformduplicate-connect:
.. _apireference-formeditor-hooks-beforeformduplicate-use:
.. _apireference-formeditor-hooks-beforeformdelete:
.. _apireference-formeditor-hooks-beforeformdelete-connect:
.. _apireference-formeditor-hooks-beforeformdelete-use:
.. _apireference-frontendrendering-runtimemanipulation-hooks:
.. _apireference-frontendrendering-runtimemanipulation-hooks-initializeformelement:
.. _apireference-frontendrendering-runtimemanipulation-hooks-initializeformelement-connect:
.. _apireference-frontendrendering-runtimemanipulation-hooks-initializeformelement-use:
.. _apireference-frontendrendering-runtimemanipulation-hooks-beforeremovefromparentrenderable:
.. _apireference-frontendrendering-runtimemanipulation-hooks-beforeremovefromparentrenderable-connect:
.. _apireference-frontendrendering-runtimemanipulation-hooks-beforeremovefromparentrenderable-use:
.. _apireference-frontendrendering-runtimemanipulation-hooks-afterbuildingfinished:
.. _apireference-frontendrendering-runtimemanipulation-hooks-afterbuildingfinished-connect:
.. _apireference-frontendrendering-runtimemanipulation-hooks-afterbuildingfinished-use:
.. _apireference-frontendrendering-runtimemanipulation-hooks-afterinitializecurrentpage:
.. _apireference-frontendrendering-runtimemanipulation-hooks-afterinitializecurrentpage-connect:
.. _apireference-frontendrendering-runtimemanipulation-hooks-afterinitializecurrentpage-use:
.. _apireference-frontendrendering-runtimemanipulation-hooks-aftersubmit:
.. _apireference-frontendrendering-runtimemanipulation-hooks-aftersubmit-connect:
.. _apireference-frontendrendering-runtimemanipulation-hooks-aftersubmit-use:
.. _apireference-frontendrendering-runtimemanipulation-hooks-beforerendering:
.. _apireference-frontendrendering-runtimemanipulation-hooks-beforerendering-connect:
.. _apireference-frontendrendering-runtimemanipulation-hooks-beforerendering-use:
.. _apireference-events-legacy-hooks-buildformvalidationconfiguration:
.. _apireference-events-legacy-hooks-afterformstateinitialized:
.. _apireference-events-legacy-hooks:
================
PSR-14 Events
================
EXT:form dispatches PSR-14 events at key points in the lifecycle of a form
both in the backend form editor and during frontend rendering. These events
are the recommended extension point for developers; the legacy
:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']` hooks have been removed.
.. seealso::
The canonical, always-up-to-date reference for all EXT:form events lives
in the TYPO3 Core API documentation:
`Form <https://docs.typo3.org/permalink/t3coreapi:eventlist-form>`_
The extension documentation below provides context, usage notes and
quick navigation; it intentionally avoids duplicating the full API
reference.
.. contents::
:depth: 1
:local:
.. _apireference-events-backend:
Backend events (form editor / manager)
=======================================
These events are dispatched when an editor creates, saves, duplicates or
deletes a form definition in the TYPO3 backend.
.. _apireference-events-backend-table:
.. list-table::
:header-rows: 1
:widths: 40 60
* - Event
- When / what can be modified
* - `BeforeFormIsCreatedEvent
<https://docs.typo3.org/permalink/t3coreapi:beforeformiscreatedevent>`_
- Modify the form definition array and/or the persistence identifier
before a new form is created in the backend.
* - `BeforeFormIsSavedEvent
<https://docs.typo3.org/permalink/t3coreapi:beforeformissavedevent>`_
- Modify the form definition array and/or the persistence identifier
before a form is saved in the backend.
* - `BeforeFormIsDuplicatedEvent
<https://docs.typo3.org/permalink/t3coreapi:beforeformisduplicatedevent>`_
- Modify the form definition array and/or the persistence identifier
of the copy before a form is duplicated.
* - `BeforeFormIsDeletedEvent
<https://docs.typo3.org/permalink/t3coreapi:beforeformisdeletedevent>`_
- Dispatched before a form is deleted. Set
:php:`$event->preventDeletion = true` to abort the deletion (the
event implements :php:`StoppableEventInterface`).
.. _apireference-events-frontend:
Frontend events (form rendering / runtime)
==========================================
These events are dispatched during form rendering in the frontend.
.. _apireference-events-frontend-table:
.. list-table::
:header-rows: 1
:widths: 40 60
* - Event
- When / what can be modified
* - `AfterFormIsBuiltEvent
<https://docs.typo3.org/permalink/t3coreapi:afterformisbuiltevent>`_
- Modify the :php:`FormDefinition` object after the form factory has
finished building the complete form.
* - `BeforeRenderableIsAddedToFormEvent
<https://docs.typo3.org/permalink/t3coreapi:beforerenderableisaddedtoformevent>`_
- Modify or replace a renderable (page, section or element) before it
is added to the form tree.
* - `BeforeRenderableIsRemovedFromFormEvent
<https://docs.typo3.org/permalink/t3coreapi:beforerenderableisremovedfromformevent>`_
- Dispatched before a renderable is removed from the form tree. Set
:php:`$event->preventRemoval = true` to abort the removal (the
event implements :php:`StoppableEventInterface`).
* - `AfterCurrentPageIsResolvedEvent
<https://docs.typo3.org/permalink/t3coreapi:aftercurrentpageisresolvedevent>`_
- Override :php:`$event->currentPage` after the current page has been
resolved from the request, e.g. to implement conditional page-skip
logic.
* - `BeforeRenderableIsValidatedEvent
<https://docs.typo3.org/permalink/t3coreapi:beforerenderableisvalidatedevent>`_
- Modify :php:`$event->value` before property-mapping and validation
run for each submitted form element.
* - `BeforeRenderableIsRenderedEvent
<https://docs.typo3.org/permalink/t3coreapi:beforerenderableisrenderedevent>`_
- Modify the renderable or the :php:`FormRuntime` just before a
renderable is output to the browser.
* - `BeforeEmailFinisherInitializedEvent
<https://docs.typo3.org/permalink/t3coreapi:beforeemailfinisherinitializedevent>`_
- Modify the options used by the :php:`EmailFinisher` (e.g. recipients,
subject) before they are applied.
* - `AfterFormStateInitializedEvent
<https://docs.typo3.org/permalink/t3coreapi:afterformstateinitializedevent>`_
- Enrich components with runtime data after the :php:`FormState` has
been restored from the request (form state and form session are
both available at this point).
* - `AfterFormDefinitionLoadedEvent
<https://docs.typo3.org/permalink/t3coreapi:afterformdefinitionloadedevent>`_
- Dispatched by :php:`FormPersistenceManager` after a YAML form
definition has been loaded from disk. Modify the definition globally
before it reaches the form factory.
* - `AfterFormDefinitionValidationConfigurationIsBuiltEvent
<https://docs.typo3.org/permalink/t3coreapi:afterformdefinitionvalidationconfigurationisbuiltevent>`_
- Dispatched after the form definition validation configuration has
been built from the form editor setup. Add additional writable
property paths for custom inspector editor implementations.
.. _apireference-events-register:
Registering an event listener
==============================
Register a listener via the :php:`#[AsEventListener]` PHP attribute:
.. literalinclude:: _codesnippets/_MyFormEventListener.php
:language: php
:caption: EXT:my_extension/Classes/EventListener/MyFormEventListener.php
.. seealso::
:ref:`t3coreapi:EventDispatcher` TYPO3 Core API documentation on how to
register and implement PSR-14 event listeners.