Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
bonjour,
j'ai créé mon formulaire dans un .ini, jusque là tout va bien, puis j'ai ajouté un élément "hidden". Comment puis je lui donner une valeur qui viendrait de mon controlleur récupéré par un $this->_getParam() ??
le form.ini :
; general form metainformation qst.add.action = "/question/addGroup" qst.add.method = "post" ; name element qst.add.elements.name.type = "text" qst.add.elements.name.options.label = "Nom du thème :" qst.add.elements.name.options.class = "text" qst.add.elements.name.options.validators.strlen.validator = "StringLength" qst.add.elements.name.options.validators.strlen.options.min = "2" qst.add.elements.name.options.validators.strlen.options.max = "45" qst.add.elements.name.options.required = true ; qst_id element qst.add.elements.qstid.type = "hidden"
et si vous voulez bien m'expliquer aussi où mettre le removeDecorators car j'aimerais que mon formulaire ressemble à ça :
<form action="#" method="post"> <div> <label for="email">Adresse email :</label> <input type="text" class="text" name="email" id="email" value="" /> </div> <div> <label for="password">Mot de passe :</label> <input type="password" class="text" name="password" id="password" value="" /> </div> </form>
Merci
Dernière modification par Peggy (22-02-2008 08:56:04)
Hors ligne
Pour ta première question c'est pas bien compliqué. Quand tu as chargé t'as Zend_Config_Ini (ouverte en écriture ça sera mieux), il te suffit avant de la transmettre à Zend_Form de faire un truc du style:
$qst->add->elements->monhidden->value = 'mavaleur'; //que je veux
Pour ta deuxième réponse, je me suis pas pris la tête j'ai rien touché, je style avec les CSS
Hors ligne
peux-tu me dire comment ouvrir le fichier en écriture ??? car j'ai beau chercher je ne vois pas...
sinon pour la mise en forme du formulaire, as-tu réussi à mettre deux champs cote à cote ??
Dernière modification par Peggy (20-02-2008 15:17:53)
Hors ligne
bon j'ai trouvé pour mettre le fichier en écriture.
Merci bcp en tout cas.
Et si quelqu'un a une idée pour mettre deux element de formulaire cote à cote...
Hors ligne
alors là c'est soit tu veux regarde les décorateurs comme tu en avias l'intention, sinon tu peux faire comme moi un truc avec css (une piste).
PS: tu pourrais mettre la solution pour l'écriture du ini pour ceux qui passeront après
Hors ligne
Comme l'ouverture du fichier ini avec zend_config_Ini se fait par défaut en read only, il suffit de lui passer un tableau avec allowModifications à true.
$config['allowModifications'] = 'true'; $config = new Zend_Config_Ini('../application/views/scripts/question/form.ini', 'group', $config); $form = $config->qst; $form->add->elements->qstid->value = $this->_getParam('qst_id');
voilà..
Hors ligne
bon en fait ca ne fonctionne pas... soit il me fait un message du style :
Indirect modification of overloaded property Zend_Config::$add has no effect
soit il ne me dit rien mais il n'y a pas de valeur dans ma variable...
je ne comprend rien..
si quelqu'un peu m'aider.
Merci
Hors ligne
Bonjour,
Je n'ai toujours pas réussi à trouver mon erreur...J'ai essayé d'une autre manière:
j'ai récupéré mon formulaire et je lui ai ajouté un élément de type hidden qui a une valeur :
$configuration['allowModifications'] = 'true'; $config = new Zend_Config_Ini('../application/views/scripts/question/form.ini', 'group', $configuration); $form = new Zend_Form($config->qst->addqst); Zend_Loader::loadClass('Zend_Form_Element_Hidden'); $hidden = new Zend_Form_Element_Hidden('qstid'); $hidden->setValue($this->_getParam('qst_id')); $form->addElement($hidden);
Et lorsque je regarde la source de ma page internet j'ai bien mon hidden mais aucune valeur :
<form enctype="application/x-www-form-urlencoded" action="/question/addGroup" method="post"><dl class="zend_form"> .... <input type="submit" name="submit" id="submit" value="submit" class="submit"></dd> <dd> <input type="hidden" name="qstid" value="" id="qstid" /></dd></dl></form>
E il m'arrive aussi quelque chose de bizard sur mes submit, je leur définit une valeur mais à la place apparait le nom du submit, pas sa valleur :
qst.addqst.elements.submit.type = "submit" qst.addqst.elements.submit.options.class = "submit" qst.addqst.elements.submit.options.value = "Enregistrer"
est-ce quelqu'un a une idée ??
Pour infi je travaille avec le zend frameworks 1.5 du 20/02/2008
Hors ligne
Ouais depuis hier soir j'ai le même soucis pour les value. Marche plus sur mon submit (moi c'est un type="image" est le src est vide depuis que j'ai mis la snap du 20/02/2008.
Y'a surement un bug passagé...
Hors ligne
Pour le submit, en mettant label = nom ça fonctionne...
qst.addqst.elements.submit.type = "submit" qst.addqst.elements.submit.options.class = "submit" qst.addqst.elements.submit.options.label = "Enregistrer"
Hors ligne
Donc je met la correction vu que maintenant ca fonctionne... ça aidera les prochains.
contenu de mon form.ini
qst.addqst.elements.qstid.type = "hidden" qst.addqst.elements.qstid.options.value = ""
et contenu de mon controller :
$config = new Zend_Config_Ini('../application/views/scripts/question/form.ini', 'group', true); $config->qst->addqst->elements->qstid->options->value = $this->_getParam('qst_id');
il faut juste penser à mettre le options en plus.
Hors ligne
Pages: 1