Bonjour,
Je galère encore un peu dans les débuts avec le ZF !
Après avoir réalisé avec succès l'application du tutoriel "Débuter avec Zend Framework 1.5 (approche MVC)", je me lance dans ma vraie appli.
J'ai semble t-il le même code dans les deux mais j'ai une erreur dans mon appli :
La ligne 24 incriminée est celle-ci :Fatal error: Call to a member function setLabel() on a non-object in /var/www/html/cinedoc/application/controllers/IndexController.php on line 24
Le code du tuto qui fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $form->submit->setLabel('Ajouter');
Le code de mon appli qui ne fonctionne pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // Dans IndexController.php function ajouterAction() { $this->view->title = "Ajouter un nouvel album"; $form = new FormulaireAlbum(); $form->submit->setLabel('Ajouter'); // Dans FormulaireAlbum.php $submit = new Zend_Form_Element_Submit('submit'); $submit->setAttrib('id', 'submitbutton');
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // Dans IndexController.php function ajouterAction() { $this->view->title = "Ajouter un pays"; $form = new FormulairePays(); $form->submit->setLabel('Ajouter'); // Dans FormulairePays.php $submit = new Zend_Form_Element_Submit('submit'); $submit->setAttrib('id', 'submitbutton');
Le message d'erreur doit être dû à autre chose mais je ne vois pas quoi.
Pour faire mon appli, j'ai suivi de nouveau le tuto en l'adaptant à mon besoin.
EDIT :
Comme je ne suis pas du genre à attendre la solution toute cuite, j'ai tapé le message d'erreur dans qui m'a amené sur le tuto original in english et des messages faisant état de la même erreur... avec le vrai bug qui s'était glissé !
Comme j'ai davantage d'éléments dans mon formulaire que dans celui du tuto, j'ai remplacé $submit par un autre dans la liste des éléments ajoutés à cette ligne de FormulairePays :
Si ça peut servir à d'autres...
Code : Sélectionner tout - Visualiser dans une fenêtre à part $this->addElements(array($id, $pays_nom_francais, $pays_nationalite_masc, $pays_nationalite_fem, $pays_code, $pays_commentaire, $submit));
Partager