IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

custom error form - fosuser bundle [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Homme Profil pro
    graphisme & impression
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : graphisme & impression

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 69
    Points
    69
    Par défaut custom error form - fosuser bundle
    Hello tout le monde,

    J'ai une petite question concernant la personnalisation des erreurs.
    J'utilise le bundle FOSuser bundle et j'ai bien lus la documentation.
    Malgré tout, mon code ne fonctionne pas et je ne trouve pas l'erreur.

    Je suis la logique suivante:
    - personnaliser le block field_error
    - inclure le thème dans le formulaire

    Je précise que le chemin vers mes thèmes est correct puisque le thème "radio.html.twig" fonctionne correctement. Celui pour les erreurs ne semble rien changer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    {% block field_errors %}
    {% spaceless %}
    {% if errors|length > 0 %}
    <ul class="list_error">
    {% for error in errors %}
        <li>{{ error.messageTemplate|trans(error.messageParameters, 'validators') }}test</li>
    {% endfor %}
    </ul>
    {% endif %}
    {% endspaceless %}
    {% endblock field_errors %}
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
     
    {% trans_default_domain 'FOSUserBundle' %}
    {% form_theme form 'JlfaWebSiteBundle::form/errors.html.twig' %}
    {% form_theme form 'JlfaWebSiteBundle::form/radio.html.twig' %}
     
    <!-- add form -->
    <div class="row">
        <div class="col-lg-12">
            <div class="well">
                <form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" id="contact-form" class="form-inline">
                    <fieldset>
                        {{ form_errors(form) }}
                        <legend>Create your account2</legend>
                        <div class="control-group">
                            {{ form_label(form.email) }}
                            <!-- <label class="control-label" for="mail">E-mail<span title ="Aucun spam ne sera envoyé depuis de site web." class="glyphicon glyphicon-exclamation-sign"></span></label> -->
                            <div class="controls">
                                {{ form_widget(form.email, {'attr': {'class': 'form-control'}}) }}
                                {{ form_errors(form.email) }}
                            </div>
     
                            <div class="radio-group">
                                {{ form_widget(form.displayMail) }}
                            </div>
                        </div>
                        <div class="control-group">
                            {{ form_label(form.username) }}
                            <div class="controls">
                                {{ form_widget(form.username, {'attr': {'class': 'form-control'}}) }}
                            </div>
                        </div>
                        <div class="control-group">
                            {{ form_label(form.plainPassword.first) }}
                            <div class="controls">
                                {{ form_widget(form.plainPassword.first, {'attr': {'class': 'form-control'}}) }}
                            </div>
                        </div>
                        <div class="control-group">
                            {{ form_label(form.plainPassword.second) }}
                            <div class="controls">
                                {{ form_widget(form.plainPassword.second, {'attr': {'class': 'form-control'}}) }}
                            </div>
                        </div>
                        <div class="control-group">
                            {{ form_label(form.aboutMe) }}
                            <div class="controls">
                                {{ form_widget(form.aboutMe, {'attr': {'class': 'form-control'}}) }}
                            </div>
                        </div>
                        <div class="control-group">
                            {{ form_label(form.adresse, label|default(null), { 'label_attr': { 'class': 'control-label' }}) }}
                            <!-- <span title ="Cette adresse sera utilisée pour réaliser une cartes des contributeurs" class="glyphicon glyphicon-exclamation-sign"></span> -->
                            <div class="input-group controls">
                                {{ form_widget(form.adresse, {'attr': {'class': 'form-control'}}) }}
                                <span class="input-group-btn">
                                    <button id="go" class="btn btn-default" type="button">Go</button>
                                </span>
                            </div>
                            <div class="radio-group">
                                {% form_theme form 'JlfaWebSiteBundle::form/radio.html.twig' %}
                                {{ form_widget(form.displayAdresse) }}
                            </div>
                        </div>
     
                        <div class="control-group">
                            <div id="map-canvas"></div>
                        </div>
                        {{ form_rest(form) }}
                        <div class="form-actions">
                            <button type="reset" class="btn">Cancel</button>
                            <button id="submit-register" type="submit" class="btn btn-primary btn-large" value="{{ 'registration.submit'|trans }}">Submit</button>
                        </div>
                    </fieldset>
                </form>
            </div>           
        </div>
    </div>
    ----------------------- le reste du code si jamais
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
     
    {% extends "FOSUserBundle::layout.html.twig" %}
     
     
     
    {% block stylesheets %}
     
        {{ parent() }}
     
     {% stylesheets output='css/main.css' filter='cssrewrite, ?yui_css'
        'css/form.css'
      %}
     
         <link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
     
     {% endstylesheets %}
    {% endblock %}
     
    {% block fos_user_content %}
     
     
     {% include "FOSUserBundle:Registration:register_content.html.twig" %}
     
     
     {% endblock fos_user_content %}
     
     
     
    {% block javascripts %}
     
            {{ parent() }}
     
        {% javascripts output='js/main.js' filter='?yui_js'
     
        'js/jquery.validate.min.js'
     
        '@SdzUserBundle/Resources/public/js/jquery.geocomplete.min.js'
     
        'js/register-form.js'
        %}
          <script type="text/javascript" src="{{ asset_url }}"></script>
     
        <script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places"></script>
     
    {% endjavascripts %}
     
    {% endblock %}<br><br>
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    <?php
     
    namespace Sdz\UserBundle\Form\Type;
     
    use Symfony\Component\Form\FormBuilderInterface;
    use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType;
     
    class RegistrationFormType extends BaseType
    {
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            parent::buildForm($builder, $options);
     
     
            $mail = array(
                'publication-email-yes' => 'Publier mon adresse e-mail sur ma page de profil.',
                'publication-email-no' => 'Non, je préfère garder mon adresse e-mail anonyme.'
            );
            $adresse = array(
                'publication-adresse-yes' => 'Publier mon adresse sur ma page de profil.',
                'publication-adresse-no' => 'Non, je préfère garder mon adresse anonyme. '
            );
     
            $builder->add('displayMail', 'choice', array(
                'choices' => $mail,
                'expanded' => true,
                'multiple' => false,
                'data' => 'publication-email-no'
            ));
            $builder->add('aboutMe', 'textarea');
            $builder->add('adresse');
            $builder->add('displayAdresse', 'choice', array(
                'choices' => $adresse,
                'expanded' => true,
                'multiple' => false,
                'data' => 'publication-adresse-no'
            ));;
            $builder->add('lat', 'hidden', array(
                 'attr' => array('data-geo' => 'lat')
            ));
            $builder->add('lng', 'hidden', array(
                 'attr' => array('data-geo' => 'lng')
            ));
            $builder->add('formateAdresse', 'hidden', array(
                 'attr' => array('data-geo' => 'formatted_address')
            ));
        }
     
        public function getName()
        {
            return 'sdz_user_registration';
        }
    }

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,

    ....
    {% form_theme form 'JlfaWebSiteBundle::form/errors.html.twig' %}
    {% form_theme form 'JlfaWebSiteBundle::form/radio.html.twig' %}
    ...
    {% form_theme form 'JlfaWebSiteBundle::form/radio.html.twig' %}
    ...
    à priori c'est le dernier theme déclaré qui est pris en compte

    Essaie comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {% form_theme form 'JlfaWebSiteBundle::form/errors.html.twig' 'JlfaWebSiteBundle::form/radio.html.twig' %}
    ou bien fais un seul fichier de theme

  3. #3
    Membre du Club
    Homme Profil pro
    graphisme & impression
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : graphisme & impression

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 69
    Points
    69
    Par défaut Merci
    Hello,

    Merci beaucoup pour ta réponse c'était effectivement ça…
    J'avais au moins tout essayé sauf ça, simple et efficace.

    Merci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Apache Custom Error Responses en php
    Par aperrin dans le forum Apache
    Réponses: 1
    Dernier message: 21/01/2011, 10h53
  2. Réponses: 3
    Dernier message: 27/10/2010, 22h46
  3. Crée un Custom Error Alert MOM?
    Par PaulPacheco dans le forum C#
    Réponses: 0
    Dernier message: 04/06/2009, 12h57
  4. Non prise en compte des custom error
    Par Neikeur dans le forum ASP.NET
    Réponses: 0
    Dernier message: 07/04/2009, 16h03
  5. [2.0]Web.Config et Custom errors
    Par chuck_m dans le forum ASP.NET
    Réponses: 8
    Dernier message: 25/01/2007, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo