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 à