salut tt le monde,
j'ai tjrs le probleme avec la personnalisation de signin form
quelqu'un a une idée ??


Le 11 septembre 2009 09:32, Lélio ML <[email protected]> a écrit :

>
> As-tu regardé le code HTML généré dans les deux cas (de base et surchargé)
> ?
> La différence pourrait t'orienter vers la solution...
>
> -----Message d'origine-----
> De : [email protected] [mailto:[email protected]] De
> la
> part de chakir ezziani
> Envoyé : vendredi 11 septembre 2009 11:30
> À : [email protected]
> Objet : [symfony-fr] Re: personnalisation Signin Form
>
> oui c ce que j'ai fais j'ai recopié tt le module sfguard dans mon
> application et j'ai changé le template signinSuccess.php mais j'ai la meme
> action que celle d'avant, je pense qu'il y a une declaration que je dois
> faire dans un fichier de configuration de l'application !!!!????
> mais je suis bloqué mnt je sais pas quoi faire exactement
>
>
> Le 11 septembre 2009 09:22, Lélio ML <[email protected]> a écrit :
>
>
>
>        Repars peut-être de zéro.
>
>        Comment as-tu surchargé ton formulaire ?
>        Je crois que la bonne manière est de créer dans ton appli un module
> sfAuth.
>        Dans un répertoire templates tu recopies le fichier signin.php qui
> se
>        trouves dans le répertoire du plugin. Là tu agis à ta convenance.
>
>        Sinon, les logs te disent-ils qqch ?
>        Enfin, as-tu explicité les routes pour le plugin sfGuard comme
> indiqué dans
>        la doc (même si c'est optionnel) ?
>
>
>        -----Message d'origine-----
>        De : [email protected]
> [mailto:[email protected]] De la
>        part de chakir ezziani
>
>        Envoyé : vendredi 11 septembre 2009 11:14
>
>        À : [email protected]
>        Objet : [symfony-fr] Re: personnalisation Signin Form
>
>        merci Lélio
>        pour la traduction ça marche bien mais maintenant je suis tombé dans
> un
>        autre probleme "le submit me marche pas "  quand j'entre un username
> et
>        password apré l'envoi du formulaire il me réaffiche le formulaire
> vide!!!!!
>        je pense que c l'action du form,n mais je suis pas sure
>        une idée ??
>
>
>        Le 11 septembre 2009 08:25, Lélio ML <[email protected]> a
> écrit
> :
>
>
>
>               Pour la traduction, il suffit de mettre en place le module
> i18n et
>               d'indiquer dans le settings.yml que default_culture: fr. Et
> hop, 95%
>        de
>               l'interface de sfGuardPlugin est traduite... Sans action
>        particulière.
>               Sinon, une petite lecture du code permet de savoir que le
> fichier
>        xml i18n
>               où tu personnaliseras ta traduction est souvent sf_admin.xml
> (dans
>        le
>               répertoire /apps/myApp/i18n/fr) sinon messages.xml
>
>               Pas besoin de réécrire le template ou les classes
>
>               -----Message d'origine-----
>               De : [email protected]
>        [mailto:[email protected]] De la
>               part de chakir ezziani
>               Envoyé : jeudi 10 septembre 2009 17:24
>               À : [email protected]
>               Objet : [symfony-fr] Re: personnalisation Signin Form
>
>
>               salut,
>               le formulaire s'affiche on appelant le sfGuardAuth , on
> executant
>               signinSuccess:
>               <form action="<?php echo url_for('@sf_guard_signin') ?>"
>        method="post">
>               <table>
>                <?php echo $form ?>
>                </table>
>
>                <input type="submit" value="Connexion" />
>               </form>
>
>               voila mnt la form :
>
>               class sfGuardFormSignin extends sfForm
>               {
>                public function configure()
>                {
>                  $this->setWidgets(array(
>                    'username' => new sfWidgetFormInput(),
>                    'password' => new sfWidgetFormInput(array('type' =>
>        'password')),
>                    'remember' => new sfWidgetFormInputCheckbox(),
>                  ));
>
>                  $this->setValidators(array(
>                    'username' => new sfValidatorString(),
>                    'password' => new sfValidatorString(),
>                    'remember' => new sfValidatorBoolean(),
>                  ));
>
>                  $this->validatorSchema->setPostValidator(new
>        sfGuardValidatorUser());
>
>                  $this->widgetSchema->setNameFormat('signin[%s]');
>                }
>
>               et le validateur du form:
>               class sfGuardValidatorUser extends sfValidatorBase
>               {
>                public function configure($options = array(), $messages =
> array())
>                {
>                  $this->addOption('username_field', 'username');
>                  $this->addOption('password_field', 'password');
>                  $this->addOption('rememeber_checkbox', 'remember');
>                  $this->addOption('throw_global_error', false);
>
>                  $this->setMessage('invalid', 'veuillez v&eacute;rifier vos
>               informations.');
>
>                }
>
>                protected function doClean($values)
>                {
>                  $username =
> isset($values[$this->getOption('username_field')]) ?
>               $values[$this->getOption('username_field')] : '';
>                  $password =
> isset($values[$this->getOption('password_field')]) ?
>               $values[$this->getOption('password_field')] : '';
>                  $remember =
>        isset($values[$this->getOption('rememeber_checkbox')]) ?
>               $values[$this->getOption('rememeber_checkbox')] : '';
>
>                  // user exists?
>                  if ($user =
> sfGuardUserPeer::retrieveByUsername($username))
>                  {
>                    // password is ok?
>                    if ($user->checkPassword($password))
>                    {
>                      return array_merge($values, array('user' => $user));
>                    }
>                  }
>
>                  if ($this->getOption('throw_global_error'))
>                  {
>                    throw new sfValidatorError($this, 'invalid');
>
>                  }
>
>                  throw new sfValidatorErrorSchema($this,
>               array($this->getOption('username_field') => new
>        sfValidatorError($this,
>               'invalid')));
>                }
>               }
>
>               pour l'erreur "invalid' je l'ai converti en fraçais dans le
>        validateur mai
>               elle reste a sa place lorsqu'elle s'affiche
>               et si je laisse un champs vide l'erreur "required" s'affiche
> en
>        déformant le
>               formulaire, et elle doi etre en français!!!!
>
>               vraiment j'ai gaspier beaucoup de temps sur ça, je commence a
>        regretter
>               l'utilisation de symfony
>
>               cordialement
>
>
>
>
>
>
>
>
>
>
>
>               Le 10 septembre 2009 14:17, Mikael Randy
> <[email protected]> a
>        écrit :
>
>
>                      Soit patient, on a tous une vie ;-)
>
>
>                      Comment est-ce que tu affiches ton formulaire ?
>
>
>                      Le 10 septembre 2009 16:02, chakir ezziani
>               <[email protected]> a écrit :
>
>
>                              salut
>                              toujours pas de réponse les symfoniens?!!!!
>
>
>                              Le 10 septembre 2009 10:33, chakir ezziani
>               <[email protected]> a écrit :
>
>
>                                      Bonjour Mikael,
>                                      j'ai essayé le bout de code que tu
> m'as
>        envoyé et
>               j'arrive a afficher les erreurs un peu loin des champs de
> saisie,
>        mais aussi
>               il reste les ereeurs sur chaque champs !!!
>                                      pour l'erreur invalid on peu la
> modifier dans
>        le
>               validateur sfGuardValidatorUser mais pour l'erreur "required"
> j'ai
>        pas
>               trouvé ou l'instruction responsable de la renvoyé !!!!!?
>
>
>
>                                      Le 10 septembre 2009 09:44, Mikael
> Randy
>               <[email protected]> a écrit :
>
>
>                                              Il n'existe pas de fonction
>        renderError()
>               (et pourtant dieu sais que ça serait pratique).
>
>
>                                              Par contre, il est
> relativement
>        simple de
>               récupérer les erreurs d'un formulaire :
>
>                                              <?php if(
>        $form->getErrorSchema()->count() >
>               0 ) : ?>
>                                                 <ul>
>                                                 <?php foreach(
>               $form->getErrorSchema()->getErrors() as $field => $message ):
> ?>
>                                                    <li><?php echo $message
> ?></li>
>                                                 <?php endforeach ?>
>                                                 </ul>
>                                              <?php endif ?>
>
>
>                                              Le 1er if permet de contrôler
> s'il y
>        a des
>               erreurs, le foreach récupère toutes les erreurs et les
> affiches une
>        à une.
>               $field contient le nom du champ concerné et $message le
> message
>        d'erreur en
>               question.
>
>
>                                              Le 10 septembre 2009 11:31,
> sweetgirl
>               <[email protected]> a écrit :
>
>
>
>                                                      Bonjour à tous,
>                                                      j'ai un probleme avec
> le
>        formulaire
>               d'identification au backend de mon
>                                                      site, le soucis c'est
> au
>        niveau des
>               messages d'erreurs ;qui
>                                                      s'affichent lorsque le
>        username ou
>               le password est incorrect ou pas
>                                                      saisie; Donc
> l'affichage de
>        ces
>               erreurs déforme tt le formulaire qui
>                                                      sort de son conteneur
> .....
>                                                      ce que je veux c'est
> faire
>               personnaliser ce formulaire et faire une
>                                                      "div" apart qui va
> contenir
>        ces
>               erreurs et les faire en français, mai
>                                                      le probleme c'est ou
> modifier
>        ??
>                                                      ou sont les fonctions
>               rendererrors()??
>
>                                                      Cordialement
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" 
de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à