Depuis un controller :
// Variables à transmettre au formulaire
$data = ['lalala' => 'lilili'];
// Avec l'injection de dépendances
$this->formBuilder()->getForm(Drupal\mon_module\Form\TriggerForm::class, $data);
// Sinon, sans l'injection de dépendances
$form = \Drupal::formBuilder()->getForm('Drupal\mon_module\Form\TriggerForm', $data);
Récupération des données dans le formulaire
public function buildForm(array $form, FormStateInterface $form_state) {
// Récupération des données
$data = $form_state->getBuildInfo()['args'][0];
// Définition du formulaire
}
Il est possible de passer plusieurs variables
// Variables à transmettre au formulaire
$data = ['lalala' => 'lilili'];
$doto = ['lululu' => 'lelele'];
// Avec l'injection de dépendances
$this->formBuilder()->getForm(Drupal\mon_module\Form\TriggerForm::class, $data, $doto);
// Sinon, sans l'injection de dépendances
$form = \Drupal::formBuilder()->getForm('Drupal\mon_module\Form\TriggerForm', $data, $doto);
public function buildForm(array $form, FormStateInterface $form_state) {
// Récupération des données
$data = $form_state->getBuildInfo()['args'][0];
$doto = $form_state->getBuildInfo()['args'][1];
// Définition du formulaire
}
Ajouter un commentaire