Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/09/2011, 14h18   #1
Membre à l'essai
 
Homme
Inscription : septembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : septembre 2011
Messages : 54
Points : 20
Points : 20
Par défaut Modification champ avant enregistrement

Bonjour,

Dans l'admin que j'ai créer avec le générateur, j'ai un champ URL, je souhaiterai modifier la valeur rentré par l'utilisateur (supprimer les espace, accent etc ...) avant de l'enregistrer.

Comment puis je prendre la main sur ce champ ?
shakly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 15h51   #2
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 771
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 771
Points : 790
Points : 790
Voir les méthodes save(), doSave(), updateObject() du formulaire.

http://www.symfony-project.org/forms...he_save_method
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 23h40   #3
Membre à l'essai
 
Homme
Inscription : septembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : septembre 2011
Messages : 54
Points : 20
Points : 20
J'avais pensé a ces méthodes mais pas au parent::save.

Merci
shakly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 10h19   #4
Membre à l'essai
 
Homme
Inscription : septembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : septembre 2011
Messages : 54
Points : 20
Points : 20
En regardant de plus près je n'arrive pas à modifier mes champs dans ma fonction save.
Quelle fonction je dois utiliser ?
shakly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 14h42   #5
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
Bonjour,

Il vaudrait mieux utiliser un behavior de Doctrine : Sluggable.

http://www.developpez.net/forums/d72...orial-symfony/

http://www.doctrine-project.org/docu...iors:sluggable

Cordialement,

Mathieu
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 15h35   #6
Membre à l'essai
 
Homme
Inscription : septembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : septembre 2011
Messages : 54
Points : 20
Points : 20
Il est vrai que pour ce cas c'est plus approprié mais de manière général j’aimerais savoir comment le faire manuellement.
shakly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2011, 11h29   #7
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
Bonjour,

Dans ce cas la il faut que tu overrides la méthode doSave() de ton formulaire Doctrine, récupérer les valeurs de tes champs, et appliquer une expression régulière sur le champ saisi afin de mettre à jour ton deuxième champ (celui de la base de données), avec le résultat de ce que t'as renvoyé un preg_replace...

Cordialement,

Mathieu
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2011, 20h58   #8
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
A noter que si l'origine de ta modification n'a qu'un champ à prendre en compte, tu peux aussi modifier ton getter.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h54.


 
 
 
 
Partenaires

Hébergement Web