BeforeFormDefinitionCreatesEvent
This event is dispatched in the ExtendedArrayFormFactory and provide the possibility to manipulate the form configuration before FormDefinition class is created.
Attributes
formDefintionConfigArray
-
- Type
- array
- Required
true
This is the configuration array of the form definition.
request
-
- Type
- ServerRequestInterface
- Required
true
Attention
This attribute is readonly.
This is the current server request object.
renderedForms
-
- Type
- integer
- Required
true
Attention
This attribute is readonly.
This is the count of rendered form on the current page.
Subscribe this event
First create an EventListener class in your Extension. It may look like this.
EXT:my_extension/Classes/EventListeners/BeforeFormDefinitionCreatesEventListener.php
<?php
declare(strict_types=1);
namespace MY\MyExtension\EventListener;
use LIA\LiaForm\Event\BeforeFormDefinitionCreatesEvent;
final class BeforeFormDefinitionCreatesEventListener {
/**
* Manipulate the form configuration by a custom logic.
*
* @param BeforeFormDefinitionCreatesEvent $event
* @return void
*/
public function __invoke(BeforeFormDefinitionCreatesEvent $event): void
{
// do some crazy stuff ...
$event->setFormDefinitionConfigArray($formconfiguration);
}
}
Copied!
Now register this EventListener in your Services..
EXT:my_extension/Configuration/Services.yaml
MY\MyExtension\EventListener\BeforeFormDefinitionCreatesEventListener:
tags:
- name: event.listener
identifier: 'my-extension/before-form-definition-creates-event'
event: LIA\LiaForm\Event\BeforeFormDefinitionCreatesEvent
Copied!