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 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 -~----------~----~----~----~------~----~------~--~---
