Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je souhaite utiliser les Zend_Form dans mes développements, mais j'utilise le ZF avec Smarty.
Et je n'arrive pas à faire afficher mes formulaires construis avec Zend_Form :
Voici mon code :
$form = new Zend_Form(); $form->setAction('/monprojet/mon-compte/inscription/validation/') ->setMethod('post'); $username = $form->createElement('text', 'username'); $form->addElement($username) ->addElement('submit', 'login', array('label' => 'Login')); $form->render();
Et j'obtiens :
Zend_Controller_Dispatcher_Exception: Invalid controller specified (error) in ...\Zend\Controller\Dispatcher\Standard.php on line 249
Quelqu'un a déjà réussi ?
Merci
Geoffrey
Dernière modification par Geoffrey (11-07-2008 16:01:55)
Hors ligne
je suppose que pour utiliser smarty tu as fais un setNoViewRenderer comme beaucoup
du coup Zend_Form ne peut faire de rendu
A+JYT
Hors ligne
sekaijin a écrit:
je suppose que pour utiliser smarty tu as fais un setNoViewRenderer comme beaucoup
Exactement, mais est-ce que Zend_Form est obligé de faire un rendu ? Je ne trouve rien qui va dans ce sens.
Je cherche en fait quelque chose qui ferait comme PEAR_QuickForm, çà renvoi un tableau ou un objet, on le passe dans sa vue et on construit son code HTML du formulaire tout seul. Je n'aime pas trop que quelque chose me génère un bout de HTML complet dans mes contrôleurs, ce n'est pas son travail.
Merci
Geoffrey
Hors ligne
bonjour,
j'utiliser smarty avec le zend_form ainsi que le viewrenderer et je n'ai pas de soucis.
Je fais comme ça :
$this->view->form = $form;
L'objet form appelle la méthode render automatiquement grâce à __toString()
Le problème doit venir d'ailleurs je pense, pourquoi ne pas utiliser le viewrenderer d'ailleurs ?
Hors ligne
Au final, j'ai pris la décision de me passer de Smarty, je fais former mon graphiste à utiliser le système des vues de ZF, comme ca, je l'utilise à 100% ce qui sera plus simple.
Merci pour vos réponses
Geoffrey
Hors ligne
$this->view = new Zend_View_Smarty(); $this->view->addBasePath("../url/du/script"); $formulaire = new Formulaire; $formulaire->setMethod('post'); $formulaire->setView(new Zend_View); if ($_POST) { if (!$formulaire->isValid($_POST)) { $this->view->form = $formulaire; return $this->view->render($url); } else { return $this->view->render("url/de/validation"); } } else { $this->view->form = $formulaire; echo $this->view->render($url); }
Voilà
Dernière modification par Proglab (25-09-2008 03:20:43)
Hors ligne
Pages: 1