Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
je débute avec le framework Zend et je suis tombé sur un os
J'aimerais faire un formulaire dynamique qui aurait la forme d'un tableau. Mon problème est que je sais pas forcément le nombre de lignes que je vais avoir.
J'ai lu qu'il fallait utiliser Zend subform. Si des personnes pouvait m'éclaircir sur le sujet cela serait sympa, car sur internet on trouve par beaucoup de tuto à ce sujet, ce qui est bien dommage.
Merci d'avance pour vos réponse,
Hors ligne
Dynamique c'est à dire? Les subforms c'est plus pour quand tu veux faire un formulaire en plusieurs étapes (enfin c'est l'utilité que j'en ai eu mais je me trompe peut être)
Hors ligne
Enfaite je voudrais réaliser un tableau avec des colonnes que je définis et j'aimerais ajouter autant de ligne saisissable que je veux dans ce tableau en cliquant sur un bouton par exemple.
Hors ligne
Bonjour,
Il faut utiliser le composant Zend_Form...
Il te permet de créer un objet qui érite de Zend_Form...
La dedant par exmple tu peut créer un formulaire exemple :
$age = new Zend_Form_Element_Text('age');
$cout->setLabel('Quel age?')->addValidator("Int");
$cout->setRequired();
$this->addElement($cout);
Et si tu veut du dynamique.
Exeple dynamique par rapport au ligen dans la base de données...
Tu peut appeler un dbtable :
$test = new Application_Model_Dbtable_testDbtable();
$data = $test->fecthAll();
foreach($ata as $row){
$element = new Zend_Form_Element_Text($row->tonchamps);
$element->setLabel($row->tonchampsouLibele)->addValidator("Int");
$element->setRequired();
$this->addElement($element);
}
Voila, j'espère que ça t'as aidé..
Hors ligne
Et ce code la tu le place dans le controlleur ?
Hors ligne
Non tu le place dans le dossiers Forms...
regarde la ça t'aidera beaucoup...
http://framework.zend.com/manual/fr/zen … start.html
Hors ligne
Le fait de faire une requête dans le formulaire ne respecte pas trop le modèle MVC je pense non ?
Hors ligne
Pourquoi ça?
c'est pas comme si tu fesait une requête dans une vue, puisque tu appelle dans le controller...
Après tu peux faire autrement....
Tu fait ta requetes dans le controlleur et tu envoi le résultat a ta vue... Puis tu traite le formulaire directement à la vue en HTML....
Hors ligne
Une solution pour ça est de reprendre le code donné par Kham mais au lieu de faire la requête dans le form tu le fais dans le contrôleur et tu passes le résultat en paramètre à ton form. Dans ton form tu feras simplement la boucle
Hors ligne
Moi je pars du principe qu'un formulaire doit gérer tout ce qui le concerne, c'est à dire aussi bien le contenu de ses select option que les éléments qu'il contient même si ceux ci sont dynamique, donc je mettrais tous ds le formulaire (à tort ou à raison).
Hors ligne