Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Ma problématique consiste à mettre en forme un formulaire dans un tableau complexe.
Ce tableau contient des informations récupérées dans une BD et en face de certains champs l'utilisateur peut saisir des màj.
Pour être plus concret, j'ai mis un aperçu plus un extrait du code HTML qui sert de modèle de mise en page sur http://www.developpez.net/forums/showth … ?t=573358.
Merci
Hors ligne
Si j'essayais de voir le problème à la source, peut-être que le Zend_Form n'est pas forcément adapté à ton degré de personalisation du formulaire. D'expérience, ça devient quand même vite usine à gaz de mettre en page un formulaire via les decorators et compagnie, et donc pas très maintenable. Une solution custom à base de Zend_Filter_Input te sera plus facilement adaptable. Perso, je mix les deux en fonctions du besoin.
Hors ligne
tu as un exemple complet?
Hors ligne
D'expérience, ça devient quand même vite usine à gaz de mettre en page un formulaire via les decorators et compagnie, et donc pas très maintenable.
D'après mon expérience, Zend_Form est un peu long à bien prendre en main il est vrai.
Après parler d'usine à gaz est un peu violent. Au contraire. Certes le code peut paraitre lourd, mais est très compréhensible quand on connaît Zend_Form (cf PS)
Et question maintenance je pense que c'est toujours un problème de compréhension et de prise en main.
J'ai personnelement développer un GROS formulaire très complexe que ce soit au niveau des décorateurs, des groupes, des validateurs, etc... Ben question maintenance je suis très satisfait.
Aujourd'hui, après avoir passé plusieurs heures avec Zend_Form, je développe des formulaires très très rapidement.
Pour résumer, je dirais que la courbe d'évolution de prise en main de ce composant est exponentiel
PS:
Voici la manière dont je code généralement mes formulaires, via des tableaux
Ex de formulaire de news
$configForm = array( 'id' => 'form_cat', 'action' => $this->_request->getRequestUri(), 'method' => 'post', 'elementPrefixPath' => array( 'filter' => array( 'prefix' => "Rx_Filter", 'path' => "Rx/Filter/" ) ), 'elements' => array( 'news_title' => array('text', array( 'label' => $this->view->translate('news.title'), 'filters' => array('Text', 'HtmlSpecialChars'), 'required' => true )), 'news_date' => array('text', array( 'label' => $this->view->translate('news.date'), //'validators' => ... 'required' => true )), 'news_content' => array('textarea', array( 'label' => $this->view->translate('news.content'), 'filters' => array('Text', 'HtmlSpecialChars'), 'required' => true )), 'validNews' => array('submit', array( 'label' => $this->view->translate('validate') )) ) ); $form = new Zend_Form($configForm);
Hors ligne
Pages: 1