Feature: #107382 - PSR-14 before form deletion
See forge#107382
Description
A new PSR-14 event
Before
has been introduced. It serves as a direct replacement for the now
removed hook
$GLOBALS.
The new event is dispatched immediately before a form is deleted in the backend.
The event provides the following public properties:
$form: The form persistence identifier (read-only)Persistence Identifier $prevent: A boolean flag that can be set toDeletion trueto prevent the deletion of the form
The new event is stoppable. As soon as
$prevent is set to
true, no further listener is called.
Example
An example event listener could look like this:
namespace MyVendor\MyExtension\Form\EventListener;
use TYPO3\CMS\Core\Attribute\AsEventListener;
use TYPO3\CMS\Form\Event\BeforeFormIsDeletedEvent;
final class BeforeFormIsDeletedEventListener
{
#[AsEventListener('my_extension/before-form-is-deleted')]
public function __invoke(BeforeFormIsDeletedEvent $event): void
{
$event->preventDeletion = true;
$persistenceIdentifier = $event->formPersistenceIdentifier;
// Do something with the persistence identifier
}
}
Impact
With the new
Before, it is
now possible to prevent the deletion of a form and to add custom logic based on
the delete action.