Skip to content

Commit fe25e87

Browse files
[FEATURE] Add PSR-14 Event before renderable is added to form (#1333) (#6058)
* [FEATURE] Add PSR-14 Event before renderable is added to form (#1333) Resolves: TYPO3-Documentation/Changelog-To-Doc#1333 Releases: main * [FEATURE] Add PSR-14 Event before renderable is added to form (#1333) Resolves: TYPO3-Documentation/Changelog-To-Doc#1333 Releases: main * [FEATURE] Add PSR-14 Event before renderable is added to form (#1333) Resolves: TYPO3-Documentation/Changelog-To-Doc#1333 Releases: main
1 parent 7e154ce commit fe25e87

File tree

5 files changed

+70
-1
lines changed

5 files changed

+70
-1
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
.. include:: /Includes.rst.txt
2+
.. index:: Events; BeforeRenderableIsAddedToFormEvent
3+
4+
.. _BeforeRenderableIsAddedToFormEvent:
5+
6+
==================================
7+
BeforeRenderableIsAddedToFormEvent
8+
==================================
9+
10+
.. versionadded:: 14.0
11+
The event :php-short:`TYPO3\CMS\Form\Event\BeforeRenderableIsAddedToFormEvent`
12+
is a direct replacement for the removed hook
13+
:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/form']['initializeFormElement']`.
14+
15+
The event :php-short:`TYPO3\CMS\Form\Event\BeforeRenderableIsAddedToFormEvent`
16+
is dispatched before a renderable is constructed and added to a form. This
17+
event allows a renderable to be customized after everything has been
18+
initialized.
19+
20+
21+
.. _BeforeRenderableIsAddedToFormEvent-example:
22+
23+
Example
24+
=======
25+
26+
.. literalinclude:: _BeforeRenderableIsAddedToFormEvent/_MyEventListener.php
27+
:caption: EXT:my_extension/Classes/EventListener/MyEventListener.php
28+
29+
.. _BeforeRenderableIsAddedToFormEvent-api:
30+
31+
API
32+
===
33+
34+
.. include:: /CodeSnippets/Events/Form/BeforeRenderableIsAddedToFormEvent.rst.txt
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace MyVendor\MyExtension\EventListener;
6+
7+
use TYPO3\CMS\Core\Attribute\AsEventListener;
8+
use TYPO3\CMS\Form\Event\BeforeRenderableIsAddedToFormEvent;
9+
10+
final readonly class MyEventListener
11+
{
12+
#[AsEventListener(
13+
identifier: 'my-extension/before-renderable-is-added-to-form-event',
14+
)]
15+
public function __invoke(BeforeRenderableIsAddedToFormEvent $event): void
16+
{
17+
$event->renderable->setLabel('foo');
18+
}
19+
}

Documentation/ApiOverview/Localization/LocalizationApi/_LocalizationUtilityApi.rst.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
66
Localization helper which should be used to fetch localized labels.
77

8-
.. php:method:: translate(string $key, ?string $extensionName = NULL, ?array $arguments = NULL, ?TYPO3\CMS\Core\Localization\Locale|string|null $languageKey = NULL)
8+
.. php:method:: translate(string $key, ?string $extensionName = NULL, ?array $arguments = NULL, ?TYPO3\CMS\Core\Localization\Locale|string|null $languageKey = NULL, ?\Psr\Http\Message\ServerRequestInterface $request = NULL)
99
:returns: `string|null`
1010

1111
Returns the localized label of the LOCAL_LANG key, $key.
@@ -14,4 +14,5 @@
1414
:param $extensionName: The name of the extension, default: NULL
1515
:param $arguments: The arguments of the extension, being passed over to sprintf, default: NULL
1616
:param $languageKey: The language key or null for using the current language from the system, default: NULL
17+
:param $request: the request, default: NULL
1718
:Return description: The value from LOCAL_LANG or null if no translation was found.

Documentation/CodeSnippets/Config/Api/Events/EventsForm.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,10 @@
1919
'targetFileName' => 'CodeSnippets/Events/Form/BeforeFormIsCreatedEvent.rst.txt',
2020
'withCode' => false,
2121
],
22+
[
23+
'action' => 'createPhpClassDocs',
24+
'class' => \TYPO3\CMS\Form\Event\BeforeRenderableIsAddedToFormEvent::class,
25+
'targetFileName' => 'CodeSnippets/Events/Form/BeforeRenderableIsAddedToFormEvent.rst.txt',
26+
'withCode' => false,
27+
],
2228
];
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
.. Generated by https://github.com/TYPO3-Documentation/t3docs-codesnippets
2+
.. php:namespace:: TYPO3\CMS\Form\Event
3+
4+
.. php:class:: BeforeRenderableIsAddedToFormEvent
5+
6+
Listeners to this Event will be able to modify the renderable (form element) before being finally added to the form
7+
8+
.. php:attr:: renderable
9+
:public:

0 commit comments

Comments
 (0)