Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 29-01-2015 11:36:40

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

[Résolu]Surcharger FormRow pour customiser le data Template

Bonjour,

J'ai une collection avec la possibilité d'ajouter autant d'occurrence que je veux, sauf que le renderTemplate me sort le code généré par mon formulaire zf2 et il n'est pas comme je le souhaite avec Bootstrap3.

J'ai pour cela besoin de surcharger FormRow lors de la génération du markup (l.216) de ce fichier :
https://github.com/zendframework/zf2/bl … #L216-L223
Par un truc dans ce style :

Code:

[lang=php]
                $elementString = '<div class="col-xs-5">' . $elementString . '</div>';
                switch ($this->labelPosition) {
                    case self::LABEL_PREPEND:                        
                        $markup = sprintf('<div class="form-group"><div class="col-xs-12">%s</div></div>',
                        $labelOpen . $label . $labelClose . $elementString);
                        break;
                    case self::LABEL_APPEND:
                    default:
                        $markup = sprintf('<div class="form-group"><div class="col-xs-12">%s</div></div>',
                        $elementString . $labelOpen . $label . $labelClose);
                        break;
                }

Afin de pouvoir y mettre le markup que je souhaite, quelle solution est la plus propre et maintenable ?

J'ai vu celle-ci qui me semblerai marcher, mais le problème, et il le dit, c'est que l'on doit recopier le code de la méthode render et si elle évolue faut maintenir cette partie là... http://www.adriannuta.com/2014/03/22/cu … -elements/

Y a t-il une manière de faire que je n'ai pas trouvé ? Et qui pourrai faire ceci simplement ?

Merci.

Dernière modification par JGreco (30-01-2015 18:25:33)


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#2 30-01-2015 09:48:18

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: [Résolu]Surcharger FormRow pour customiser le data Template

Bon j'ai trouvé une solution que je juge plus propre.

Mon problème était de pouvoir modifier le markup car lorsque l'on ajoute un élément à la volée pour une collection, le data template est généré avec ce que nous indiquons dans la configuration des champs du fieldset.
J'ai donc créé une "surcharge" du view Helper FormCollection :

Code:

[lang=php]
public function renderTemplate(CollectionElement $collection)
    {
        $dataTemplate = '--tout mon code html--';

        $helper = $this->getEscapeHtmlAttrHelper();
        return sprintf($this->templateWrapper, $helper($dataTemplate));
    }

Ce view helper est appelé fieldCOllection et il faut le déclarer en invokables dans la clé view_helpers de la config.

Et dans la vue on as juste à appeler le render template de fieldcollection.


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

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