Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Form
Zend_Form Forum d'entraide pour le composant Zend_Form du Zend Framework (création de formulaires, helpers, AJAX etc.). Avant de poster -> FAQ Zend_Form.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/10/2011, 22h37   #1
Futur Membre du Club
 
Femme
Inscription : avril 2010
Messages : 81
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : avril 2010
Messages : 81
Points : 18
Points : 18
Par défaut Problème affichage formulaire

Bonjour à tous,

Je débute avec ZF et j'essaye d'utiliser Zend_Form pour afficher un formulaire basique.


Dans mon modèle, on trouve la classe:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Model_Form_Analyse extends Zend_Form {
 
    public function __construct($options = null) {
        parent::__construct($options);
        $this->setName('form_analyse');
 
        $champText = new Zend_Form_Element_Text('champsText');
        $champText->setLabel('Votre nom:');
 
        $champsRadio = new Zend_Form_Element_Radio('champsRadio');
        $champsRadio->setLabel('Choix ?');
 
        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setAttrib('id', 'submitbutton')->setLabel('form_analyse_submit');
 
        $elements = array($champText,$champsRadio,$submit);
        $this->addElement($elements);
        $this->setMethod('post');
    }
Dans ma vue:

Code :
<?php echo $this->formAnalyse; ?>
Et dans mon contrôleur:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require_once '../application/models/form/Model_Form_Analyse.php';
 
class IndexController extends Zend_Controller_Action {
 
.
.
.
 
public function analyserAction() {
        try {
            $this->view->id = $this->getRequest()->getParam('id');
            $form = new Model_Form_Analyse();
            $this->view->formAnalyse = $form;
        } catch (Zend_Exception $e) {
            $this->view->analyser = $e->getMessage();
        }
    }
}
Mais rien ne s'affiche .. Alors qu'avec
Code :
1
2
$form = new Zend_Form; 
$form->addElement(new Zend_Form_Element_Text("Votre Nom: "));
, il s'affiche bien.

J'ai dû oublier quelque chose, mais après avoir cherché des heures sur internet et parcouru tout le forum, je ne trouve pas.

Si vous avez une idée, n'hésitez pas. Je vous remercie par avance pour votre aide.
Melex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2011, 08h55   #2
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
Tu devraisafficher le message du catch egalement car il est possible que ce que tu fais dans le try crée une erreur
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2011, 14h48   #3
Futur Membre du Club
 
Femme
Inscription : avril 2010
Messages : 81
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : avril 2010
Messages : 81
Points : 18
Points : 18
En effet, j'avais complètement oublié ! Et j'obtiens bien une erreur:

Code :
Element must be specified by string or Zend_Form_Element instance
J'ai cherché sur internet, et je ne trouve pas à quoi correspond cette erreur. Si quelqu'un à une idée...

EDIT: J'ai finalement trouvé mon erreur !

Au lieu de:
Code :
1
2
$elements = array($champsText,$champsRadio,$submit);
$this->addElement($elements);
Il fallait mettre:

Code :
1
2
$elements = array($champsText,$champsRadio,$submit);
$this->addElements($elements);
Melex est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h55.


 
 
 
 
Partenaires

Hébergement Web