Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-06-2008 14:48:46

ziedb
Membre
Lieu: Tunis
Date d'inscription: 24-03-2008
Messages: 224

Mise en forme en tableau d'un Zend Form

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

 

#2 20-06-2008 14:55:53

cortex
Membre
Date d'inscription: 22-05-2008
Messages: 33

Re: Mise en forme en tableau d'un Zend Form

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

 

#3 20-06-2008 15:48:21

ziedb
Membre
Lieu: Tunis
Date d'inscription: 24-03-2008
Messages: 224

Re: Mise en forme en tableau d'un Zend Form

tu as un exemple complet?

Hors ligne

 

#4 20-06-2008 18:07:04

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Mise en forme en tableau d'un Zend Form

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 smile

PS:
Voici la manière dont je code généralement mes formulaires, via des tableaux
Ex de formulaire de news

Code:

$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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages