Pour charger le formulaire de connexion, j'utilise le code suivant.
$form = \Drupal::formBuilder()->getForm('Drupal\user\Form\UserLoginForm');
Je souhaite charger le formulaire pour créer ou modifier un nœud. Comment puis-je atteindre cet objectif?
Copie partielle d'une réponse que j'ai donnée ici: Comment modifier $ form_state avant de rendre un formulaire?
Pour obtenir un formulaire d'ajout, vous pouvez avoir à faire quelque chose comme ceci:
$values = array('type' => $node_type);
$node = \Drupal::entityTypeManager()
->getStorage('node')
->create($values);
$form = \Drupal::entityTypeManager()
->getFormObject('node', 'default')
->setEntity($node);
return \Drupal::formBuilder()->getForm($form);
Modifier: D'une certaine manière, j'ai manqué que vous ayez dit modifier. Vous faites exactement la même chose alors, sauf que vous ne créez pas de nouveau nœud $, vous chargez celui que vous souhaitez modifier, puis vous l'utilisez.
Comme écrit ici, cela est basé sur le module entityblock_form, donc si vous en avez besoin dans un bloc, vous pouvez également simplement utiliser ce module.