Hello, Rajoutes tout simplement ceci dans ton formulaire :
<?php echo $form['_csrf_token']; ?> Alexandre On 14 sep, 13:17, chakir ezziani <[email protected]> wrote: > 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é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 > > ... > > plus de détails » --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
