Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-04-2010 12:01:27

maryooman
Membre
Date d'inscription: 15-02-2010
Messages: 106

[Résolu]Formulaire dans une méthode de la classe.

Bonjour,

Je suis amené à n’utilisé qu’un seul select pour une action précise.

L’idée est de ne pas surcharger le dossier forms en créant une autre classe pour un formulaire aussi petit.

Alors j’ai fais ca, mais vous vous doutez que cela ne fonctionne pas :

Code:

    public function adminForm()
    {
        $form = new Zend_Form($options = null);
        $form->setName('selectAdmin');
        $listAdmin = new Zend_Form_Element_Select('it_login');
        $listAdmin->setLabel("Admins'Name");
        $listAdmin->addMultiOption(NULL, 'Choose');
        $table_admin = new Model_DbTable_ItStaff();
        foreach ($table_admin->fetchAll() as $row) {
            $listAdmin->addMultiOption($row->it_id, $row->it_login);
        }
        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setAttrib('id', 'submitbutton');
        $submit->setValue('submit');

        return $form->addElements(array($login, $submit));
    }

Et c’est appelé dans le même controller de cette facon :

Code:

 
$form = $this->adminForm();
$this->view->form = $form;

Message: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound

J’ai essayé quelques autres manières d’écrire le formulaire mais sans succès.

Comment dois-je m’y prendre ?

Merci

Dernière modification par maryooman (21-04-2010 15:50:07)

Hors ligne

 

#2 16-04-2010 12:43:42

Godzinho
Membre
Lieu: Toulouse
Date d'inscription: 15-10-2009
Messages: 58

Re: [Résolu]Formulaire dans une méthode de la classe.

Salut,

le message d'erreur que tu obtiens ne te renseigne pas sur la validité du formulaire.
Tu dois avoir une erreur dans ta requête sur ta table admin.

J'ai repris ton code dans un de mes contrôleur avec des valeurs en dur et sa fonctionne très bien.

Code:

public function adminForm()
    {
        $form = new Zend_Form($options = null);
        $form->setName('selectAdmin');
        $listAdmin = new Zend_Form_Element_Select('it_login');
        $listAdmin->setLabel("Admins'Name");
        $listAdmin->addMultiOption('1', '1')
            ->addMultiOption('2','2')
            ->addMultiOption('3','3');
        
        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setAttrib('id', 'submitbutton');
        $submit->setValue('submit');

        return $form->addElements(array($listAdmin, $submit));
    }

Ensuite dans une action je fais :

Code:

$this->view->form2 = $this->adminForm();

Et dans ma vue :

Code:

echo $this->form2;

Et sinon c'est quoi ton $login qu'on voit dans ton addElements(). Il est déclaré quelque part ?

Hors ligne

 

#3 16-04-2010 15:09:55

maryooman
Membre
Date d'inscription: 15-02-2010
Messages: 106

Re: [Résolu]Formulaire dans une méthode de la classe.

l'erreur vien du $login ....

même quand je t'ai lu je n'arrivais pas à le retrouver, j'ai faire ctrl + F pour le retrouver.
J'avais pourtant lu et relu une bonne dizaine de fois ce boue de code ...

merci de ta réponse et désolé
éventuellement, ce poste peut être effacé je pense

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages