Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Salut,
J'essaie de m'initier au zend framework et en faisant quelques recherches je suis tombé sur ce site http://devzone.zend.com/article/3450-De … -Zend_Form
Et vu que Zend_Form me convient mais que je voulais un système complètement customizable au niveau des decorators; j'ai suivi le tutoriel de ce site qui consiste à faire un fichier .phtml à part dans lequel on construit son formulaire comme suit : <form action="<?= $this->escape($this->form->getAction() ?>" method="<?= $this->escape($this->form->getMethod() ?>"> (etc)
Et donc pour attacher ce fichier .phtml le tutoriel dit de faire tout simplement : $this->setDecorators(array(array('ViewScript', array('viewScript' => 'loginForm.phtml'))));
Sans faire tout ça mon formulaire marche très bien avec les decorators par défaut, mais en faisant ça j'ai une erreur :
Fatal error: Uncaught exception 'Zend_View_Exception' with message 'no view script directory set; unable to determine location for view script' in C:\wamp\www\phptest\Zend_app\zf\Zend\View\Abstract.php:861 Stack trace: #0 C:\wamp\www\phptest\Zend_app\zf\Zend\View\Abstract.php(783): Zend_View_Abstract->_script('loginForm.phtml') #1 C:\wamp\www\phptest\Zend_app\zf\Zend\View\Helper\Partial.php(100): Zend_View_Abstract->render('loginForm.phtml') #2 [internal function]: Zend_View_Helper_Partial->partial('loginForm.phtml', Array) #3 C:\wamp\www\phptest\Zend_app\zf\Zend\View\Abstract.php(318): call_user_func_array(Array, Array) #4 [internal function]: Zend_View_Abstract->__call('partial', Array) #5 C:\wamp\www\phptest\Zend_app\zf\Zend\Form\Decorator\ViewScript.php(130): Zend_View->partial('loginForm.phtml', Array) #6 C:\wamp\www\phptest\Zend_app\zf\Zend\Form.php(2596): Zend_Form_Decorator_ViewScript->render('') #7 C:\wamp\www\phptest\nc.php(34): Zend_Form->render(Object(Zend_View)) #8 {main} thrown in C:\wamp\www\phptest\Zend_app\zf\Zend\View\Abstract.php on line 861
Merci d'avance pour vos réponses.
Hors ligne
Hello,
Où est ton fichier 'loginForm.phtml' ? Le dossier est-il connu par ta vue ?
A+
Hors ligne
J'ai essayé de le mettre partout, ensuite partout mais dans un dossier views et ensuite partout dans views/scripts/loginForm.phtml
J'ai aussi essayé de changer le chemin dans 'viewScript' => 'loginForm.phtml')))); en mettant tous les chemins possibles mais rien n'y fait.
Edit : j'ai fini par trouver, il suffisait juste de faire $view->addScriptPath('chemin/du/script.phtml');
Dernière modification par Sabot (26-11-2008 05:01:30)
Hors ligne
Salut Sabo,
Ta solution fonctionne, mais il y a surement plus simple.
En suposant que l'action "loginform" se trouve dans ton "IndexController" a tu essayé de mettre ta vue dans views/scripts/index/loginform.phtml ?
Le rendu de ta vue se ferais automatiquement.
++
Hors ligne
Pages: 1