BeforeFormDefinitionCreatesEvent 

This event is dispatched in the ExtendedArrayFormFactory and provide the possibility to manipulate the form configuration before FormDefinition class is created.

Attributes 

formDefintionConfigArray

formDefintionConfigArray
Type
array
Required

true

This is the configuration array of the form definition.

request

request
Type
ServerRequestInterface
Required

true

This is the current server request object.

renderedForms

renderedForms
Type
integer
Required

true

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.yaml.

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!