Bonsoir,

Je viens vers car la je ne sait plus quoi faire...

J'essaie désespérément de personnaliser le rendu de mes champs de FosUserBundle avec un template perso, mais rien n'y fait... enfin si mais c'est plutôt étrange et je ne comprend pas....

Je précise pour commencer que j'ai scrupuleusement suivi la doc de symfony (http://symfony.com/doc/current/cookbook/form/form_customization.html)

Dans app/Resources/views j'ai créer un dossier form avec le fichier errors.html.twig j'ai donc la structure suivante:

app/Resources/views/form/errors.html.twig

Pour utiliser FosUserBundle je me suis fait un UserBundle qui en hérite, et ces dans celui la que je modifie mes vues.

Dans la vue register_content.html.twig je veut faire appel a mon template d'erreur modifier, je suis donc la doc et fait:

{% form_theme form 'AppBundle:form:errors.html.twig' %}

Et la je me retrouve avec une erreur:

Unable to find template "AppBundle:Form:errors.html.twig" in FOSUserBundle:Registration:register_content.html.twig at line 8.

Par contre en essayant comme cela:

{% form_theme form 'form/errors.html.twig' %}

Bah la ça fonctionne, je trouve illogique et je ne comprend pas pourquoi comme ça sa marche et pas la façon préconiser dans la doc??

Pour info voici mon register_content.html.twig dans mon UserBundle:

{% trans_default_domain 'FOSUserBundle' %}
{% form_theme form 'AppBundle:Form:errors.html.twig' %}
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="post" class="form"> 
    <div class="login">

        {{ form_errors(form.email) }}
        {{ form_errors(form.plainPassword) }}
        {{ form_widget(form.email, {'attr':{'placeholder':'Votre adresse e-mail:'}}) }}
        {{ form_widget(form.plainPassword, {'attr':{'placeholder':'Mot de passe:'}}) }}
        {{ form_rest(form) }}

    </div>
    <button id="submit_registration">Valider</button>
</form>

Quelqu'un a une explication et aurait la bonne façon de faire car la je suis perdu....

Merci de votre aide :)

Aucune réponse