Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je suis passé sous zend pour réaliser des sites il y a déja quelques semaines et j'ai un mini problème que j'aimerai bien résoudre.
En faite, j'ai envie de partager un formulaire fait avec zend_form sur plusieurs controllers différents.
J'aimerai savoir comment créer une classe sur un fichier modèle et ensuite l appeler dans le contrôleur et faire afficher la vue.
Ou si vous avez une meilleure idée, let me know!
Je ne pense pas que ce soit tres compliqué mais j'ai un peu de mal a trouver la solution.
Merci a vous tous!
Hors ligne
Bonjour, pour partager ton formulaire sur plusieurs controllers c'est simple il suffit de definir une classe héritant de la classe Zend_Form et en implementant la methode init :
Class Form_Login extends Zend_Form{ public function init(){ //Username $username = new Zend_Form_Element_Text('username'); $username->addValidator(new Zend_Validate_Alpha()) ->addValidator(new Zend_Validate_StringLength(3,20)) ->addFilter(new Zend_Filter_StringTrim()) ->addFilter(new Zend_Filter_StringToLower()) ->setLabel('Nom d\'utilisateur :') ->setRequired(); $this->addElement($username); ......
Dans ton controller :
class LoginController extends Zend_Controller_Action{ /** * Initialize index view * */ public function indexAction(){ $this->view->form = $this->getForm(); } ..... /** * Get Login Form * * @return Form_Login */ public function getForm(){ // récupération du formulaire return $form = new Form_Login(array('action'=>'/login/process', 'method' => 'post')); }
tu n'as plus qu'a l'appeler dans ta vue
<? // login/index.phtml ?> <h2>Identifiez vous</h2> <?=$this->form?>
Dernière modification par Phil (10-10-2008 15:53:30)
Hors ligne
Pages: 1