Drupal 8 & Drupal 9 - Passer des variables à un formulaire

Cet article a été écrit il y a plus de quatre ans, son contenu n'est peut-être plus d'actualité.

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
}

 

Contenus en rapport

snippet · 19 Oct 2015 Drupal 7 - Passer des variables à un formulaire Via la fonction drupal_get_form il est possible de passer des variables à notre formulaire custom. On les récupère ensuite dans la déclaration du formulaire… snippet · 15 Oct 2020 Drupal - Afficher un formulaire dans un bloc ou un contrôleur Il est possible dans un contrôleur ou un bloc de récupérer un formulaire et de l'afficher comme n'importe quelle autre variable. À l'époque de drupal 7 on… snippet · 17 Jun 2022 Drupal 8 & Drupal 9 - Lancer le téléchargement d'un fichier depuis un formulaire Voici comment depuis la soumission d'un formulaire déclencher le téléchargement d'un fichier via une BinaryFileResponse :

Commentaires (0)