Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je suis débutant dans le zend, et j'ai un problème à loader une autre vue que l'index.
Dans mon index, j'ai un formulaire, que je load dans ma méthode indexAction, à la fin, je fais un redirect pour une méthode, dans laquelle je load un autre formulaire, sauf que ça me redirige toujours vers la page d'index! Honnêtement je ne sais pas comment régler ce problème, je vous montre mon code du controlleur
public function indexAction() { $employee = new Mow_Model_Employees(); //$this->view->prov = $employee->fetchall()->toarray(); $form = new Mow_Form_AddEmployeeFormPersonal(); $form->setaction($this->view->baseUrl()); $form->setMethod('post'); $form->setAttrib('id', 'step1'); $this->view->form = $form; $this->view->activ = '1'; if ($this->_request->isPost()) { $formData = $this->_request->getPost(); if ($form->isValid($formData)) { $aData = array ( 'num_employee' => $formData['num_employee'], 'firstName' => $formData['firstName'], 'lastName' => $formData['lastName'], 'sex' => $formData['sex'] ); $employee->insert($aData); $this->_redirect('/Mow/public/formHome/'); } else echo "no"; } } public function formHomeAction() { $employee = new Mow_Model_Employees(); $form = new Mow_Form_AddEmployeeFormHome(); $form->setaction($this->view->baseUrl()); $form->setMethod('post'); $form->setAttrib('id', 'step2'); $this->view->form = $form; $this->view->activ = '2'; if ($this->_request->isPost()) { $formData = $this->_request->getPost(); if ($form->isValid($formData)) { $aData = array ( 'adress' => $formData['adress'], 'city' => $formData['city'], 'postalCode' => $formData['postalCode'] ); $employee->insert($aData); $this->_redirect('/Mow/public/formHome/'); } else echo "no"; } }
La vue pour formHome est crée dans le /view/formHome/formHome.phtml dans laquelle j'affiche le formulaire.
Pouvez vous m'aider avec ce problème svp!
Merci
...
Hors ligne
Je ne sais pas si le problème vient de là, mais dans les conventions de nommage du Zend Framework un nom d'action ne doit pas contenir de majuscule, ou alors il faut adapter : je cite
Conventions de nommage (casse)
Puisque les humains sont notoirement incompatibles avec le respect des majuscules et des minuscules quand ils tapent des liens, Zend Framework normalise les chemins en lettres minuscules. Ceci, naturellement, affectera votre manière d'appeler vos contrôleurs et actions... ou vous vous référez à eux dans les liens.
Si vous souhaitez que votre classe ou action de contrôleur ait de multiples motsEnCassesMélangées ou motsEnNotationCamel, vous devrez séparer ces mots dans l'URL avec soit un tiret ("-"), soit un point (".") (bien que vous puissiez configurer le caractère utilisé).
Par exemple, si vous souhaitez l'action FooBarController::bazBatAction(), vous vous referez à elle avec l'URL /foo-bar/baz-bat ou /foo.bar/baz.bat.
Dernière modification par aelyta1 (05-10-2009 08:32:50)
Hors ligne
pour moi "/Mow/public/formHome/" ne correpond pas à l'acion qu'on voit.
A mon avis, il ne trouve pas le bon module/controller/action
Hors ligne
Pages: 1