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 :
Fatal error: Call to a member function setLabel() on a non-object in /var/www/html/cinedoc/application/controllers/IndexController.php on line 24
La ligne 24 incriminée est celle-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$form->submit->setLabel('Ajouter');
Le code du tuto qui fonctionne :
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');
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
// 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 :
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));
Si ça peut servir à d'autres...