Bonjour,

Je créé un formulaire d'inscription à la main, donc à la fin de mon controller je passe un tableau en param du render, ce qui fait que dans ma vue twig associée,
le process ne supporte pas le {{ form_start(form) }} ni le {{ form_end(form) }} ou encore le {{ form_widget(form) }}.

Si j'enlève ces balises et je met seulement {{ form_row(form.username) }} par exemple, cela fonctionne mais le formulaire n'est pas traité.

Je souhaiterai pouvoir construire mon formulaire normalement, avec un {{ form_start(form) }} et un {{ form_end(form) }}.

Erreur exacte :
An exception has been thrown during the rendering of a template ("Notice: Array to string conversion").
Controller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    /**
     * @param Request $request
     * @param UserPasswordEncoderInterface $passwordEncoder
     * @return \Symfony\Component\HttpFoundation\RedirectResponse|Response
     * @Route("/createUser", name="create_user")
     */
    public function createUser(Request $request, UserPasswordEncoderInterface $passwordEncoder)
    {
        //building form
        $user = new User();
        $form = $this->createForm(UserType::class, $user);
 
        //handle the submit
        $form->handleRequest($request);
 
        if ($form->isSubmitted() && $form->isValid()) {
            //encode the password
            $password = $passwordEncoder->encodePassword($user, $user->getPassword());
            $user->setPassword($password);
 
            //save user
            $em = $this->getDoctrine()->getManager();
            $em->persist($user);
            $em->flush();
 
            return $this->redirectToRoute('gestion');
        }
        $formView = $form->createView();
        return $this->render('admin/register.html.twig', ['form' => $formView]);
    }
Layout :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{% extends 'base.html.twig' %}
 
{% block body %}
 
    {{ form_start(form) }}
 
    {{ form_row(form.username) }}
    {{ form_row(form.email) }}
    {{ form_row(form.password) }}
    <button type="submit">Register!</button>
 
    {{ form_end(form) }}
 
{% endblock %}

Merci pour votre aide