Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous, dans l'un de mes formulaires j'ai un select qui récupère une liste de donnée dans ma bdd. Cependant pour récupérer les donner je doit savoir quel est la référence de la page sur laquelle je me trouve, et je vois pas comment donner à mon formulaire cette référence
Mon formulaire :
class Application_Form_AddPanier extends Zend_Form { public function init() { $this->setMethod('post'); // Quantité $quantite = $this->createElement('text', 'quantite'); $quantite->setLabel('Quantité :') ->setRequired(true) ->addValidator('NotEmpty'); // Marque $tailleDispo = new Zend_Form_Element_Select('idTailleDispo'); $tailleDispo->setLabel('Taille :'); $tableTailleDispo = new Application_Model_ExisterMapper(); /* * * ICI dans le foreach a la place de : fetchAllRefProd('2') * je dois avoir quelque chose de la forme : fetchAllRefProd('$refProduit') * $refProduit correspond à l'id de la page actuel * */ foreach($tableTailleDispo->fetchAllRefProd('2') as $uneTaille){ $tailleDispo->addMultiOption($uneTaille->idTaille, $uneTaille->idTaille); } // Ajout des éléments au formulaire $this->addElement($quantite) ->addElement($tailleDispo) ->addElement('submit', 'ajouter', array('label' => 'Ajouter')); } }
Peut être que c'est tout simple mais je bloque dessus
Merci d'avance pour votre aide
Dernière modification par shadypierre (15-05-2010 17:26:27)
Hors ligne
Personne???
Hors ligne
J'ai eu le même problème et je l'ai résolu en ajoutant une méthode à mon formulaire qui initialise les données de mon select (ou autre, moi c'était la fonction javascript sur le submit du formulaire).
Ce qui pourrait donner (dans ton controller je suppose) :
$form = new Application_Form_AddPanier(); $form->initSelectTailleDispo($idTaille);
Voila
Hors ligne
Oui justement j'avais pensé à ce genre de chose mais ça n'a pas voulu fonctionner, je vais me re pencher la dessus tout de meme
Hors ligne
ben simplement dans le constructeur de ton Form tu le passes en paramètre
$form = new Form_formulaire(options=null, $reference);
Hors ligne
Effectivement ça fonctionne avec Zend_Form
Hors ligne
Et du coté du form je récupère comment la valeur transmise? Parceque j'ai beau essayé ça veux pas 0_o
Hors ligne
Help
Hors ligne
ben tu passes ta référence en paramètre dans le constructeur de ton form
<?php class Form_Test extends Zend_Form { //construction du formulaire public function __construct($options = null, [b]$reference[/b]) { parent::__construct($options); [b] ENSUITE ICI TU CREES TES ELEMENTS ET TU AS ACCES A TA REFERENCE[/b] }
et la c'est quand tu instancies un objet de ton form
$test = new Form_TEST(null, $reference);
Voilà j'espère que ça pourra t'aider
Hors ligne
C'est que j'utilise la methode init() de zend et je vais essayer avec __construct()
Merci
Hors ligne
Bon en faite depuis le début c'est parce que ça marchais pas c'est que je tester avec un produit dont la référence n'existait plus dans ma base... Perte de temps incroyable pour une bêtise
Merci bcppp
Hors ligne
Pages: 1