Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > symfony1
symfony1 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
 
Outils de la discussion
Publicité
'
Vieux 08/01/2013, 11h01   #1
houcine88
Invité de passage
 
Homme
Étudiant
Inscription : juin 2012
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Tunisie

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : juin 2012
Messages : 14
Points : 0
Points : 0
Par défaut Formulaire symfony personnalisé

Bonjour, je suis debutant en symfony 1.4, je sais créer un formulaire seulement à partir BaseForm.class.php, je veux creer mon propre forumulaire personnalisé avec les champs que je veux les mettre,
comment puis-je le creer avec le modele et le contoleur et quels sont les etapes??????
Merci
houcine88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 12h55   #2
gototog
Membre éprouvé
 
Homme Renaud B
Inscription : septembre 2009
Messages : 361
Détails du profil
Informations personnelles :
Nom : Homme Renaud B
Âge : 23
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : septembre 2009
Messages : 361
Points : 483
Points : 483
un formulaire qui n'est en rien lié au modele de données c'est ca?
si ce n'est pas le cas, c'est a dire que par exemple, pour votre utilisateur en base, vous voulez un formulaire qui modifie tout ou en partie cet utilisateur, il est plus simple de surcharger la classe de ce formulaire plutot que de tout reprendre a zero
gototog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 15h04   #3
houcine88
Invité de passage
 
Homme
Étudiant
Inscription : juin 2012
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Tunisie

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : juin 2012
Messages : 14
Points : 0
Points : 0
J'ai pas compris ce que tu veux dire par:
" surcharger la classe de ce formulaire plutot que de tout reprendre a zero "
houcine88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 15h39   #4
gototog
Membre éprouvé
 
Homme Renaud B
Inscription : septembre 2009
Messages : 361
Détails du profil
Informations personnelles :
Nom : Homme Renaud B
Âge : 23
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : septembre 2009
Messages : 361
Points : 483
Points : 483
désolé, par surcharger j'entendais "étendre", je me perd dans le langage ^^'.

alors, disons que tu as une base de données qui gère des articles.
Lorsque tu génères le modèle avec symfony, il te crée directement des class baseNOMDUMODELEform.class.php. (dans le dossier form/base) ces class étendent baseForm et génèrent un formulaire correspondant a ton modele de donnée.
par exemple,si un article a un id entier, un titre varchar 15 et un text text, il te génereras directement trois widget (inputs) correspondants a ces champs. Symfony génère aussi des validateurs qui enverons un message d'erreur si l'utilisateur essaye de rentrer par exemple un titre de 16 charactères.
Tout cela sans une ligne de code fait par le développeur.

Dans le dossier form, il y a aussi le nom de ton formulaire (ici pour l'exemple précédent articleForm.class.php
Ce fichier est vide par défaut, mais étend le fichier baseArticleForm.class.php, c'est dans ce fichier qu'on personnalise nos formulaires.

Ces étapes sont la base de symfony, je t'invite a lire ou réaliser le tutoriel jobeet si cela t'interesse

Est ce que ca répond un peu plus a tes questions?
gototog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2013, 12h54   #5
houcine88
Invité de passage
 
Homme
Étudiant
Inscription : juin 2012
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Tunisie

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : juin 2012
Messages : 14
Points : 0
Points : 0
Merci, c'est vrai ce que tu as dit déjà j'ai suivi le tutoriel Jobeet dans au debut mais mon probleme c'est que je veux pas un formulaire généré automatiquement et que je le personnalise avec NameForm.class.php mais je veux créer mon propre formulaire sans passer par le modele de donnés. Par exemple je veux combiner plusieurs champs provenant de plusieurs formulaires. Disons que je veux faire un tableaux de bord pour mon site web dans la page d'accueil qui comporte plusieurs informations récupérer de plusieurs tables dans la base.
Merci une autre fois
houcine88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2013, 13h59   #6
gototog
Membre éprouvé
 
Homme Renaud B
Inscription : septembre 2009
Messages : 361
Détails du profil
Informations personnelles :
Nom : Homme Renaud B
Âge : 23
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : septembre 2009
Messages : 361
Points : 483
Points : 483
si par exemple, ces formulaires sont en parti existants, et que tu souhaite faire un formulaire reprenant quelques uns de ces forms, tu peux utiliser embed form ou mergeform.

Sinon, bah code tout

tu as besoin d'utiliser bon nombre de widget, tu peux t'inspirer de ceux présent dans form/base tu trouveras surement les principaux (liste déroulante, champs texte etc...) et regarde l'api de symfony sur les widgets.

Pour tes questions: ce serait donc, dans l'action quelquechose comme

Code :
1
2
3
 
//action.php  public function executeMonAction
$this->form= new formPersonnalisé();
dans ta vue
Code :
1
2
tonmodule/templates/monActionSuccess.php
<?php echo $form ?>
et tu crées ta class formPersonalisé dans lib/form.
gototog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h44.


 
 
 
 
Partenaires

Hébergement Web