Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je suis en train de créer un module qui à pour but de faciliter l'intégration de CKeditor (https://github.com/neilime/zf2-ckeditor-bundle)
Pour commencer je souhaite implémenter un élément de formulaire qui intègre CKEditor à un textarea
Je me trouve très rapidement bloqué face à cette problématique : comment proposer facilement l'utilisation de Zend\Form\Element personnalisés :
[lang=php] $form = new \Zend\Form\Form(); $form->add(array( 'name' => 'post_content', 'type' => 'CKEditorBundle\Form\Element\CKEditor', 'attributes' => array( 'required' => true ), 'options' => array( 'label' => 'content' ) )); //Dans la view $this->form($form);
En premier lieu, j'ai créé l'élément "CKEditorBundle\Form\Element" étendant la classe "\Zend\Form\Element\Textarea", son view helper "CKEditorBundle\Form\View\Helper\FormCKEditor", puis la configuration :
[lang=php] return array( 'view_helpers' => array( 'invokables' => array( 'formckeditor' => 'CKEditorBundle\Form\View\Helper\FormCKEditor' ) ) );
Jusqu'ici tout va bien, mais vient le moment où je dois lier mon élément à son view helper.
Je regarde le code de la classe "Zend\Form\View\Helper\FormElement", et je m’aperçois que les helpers sont appelé en dur...
Je ne vois que deux solutions :
1. Ne pas utiliser l'helper "Zend\Form\View\Helper\FormElement" et donc forcer l'utilisateur du module à appeller manuellement le helper pour l'élement "CKEditorBundle\Form\Element" et donc se passer du très utile helper "form" qui effectue un render sur tous les éléments du formulaire.
2. Étendre la classe "Zend\Form\View\Helper\FormElement" afin d'overrider la fonction "render" et prendre en compte mon élément. Méthode "barbare" à mon goût qui perd tout aspect modulaire. Car il sera impossible d'utiliser des éléments personnalisés issus de modules différents utilisant ce même procédé.
J'imagine donc qu'il existe une alternative à mes deux idées car sinon je ne vois pas comment étendre proprement les formulaires avec ZF2.
Je suis donc attentif à toutes les approches pouvant régler cette problématique.
Merci d'avance pour vos réponses
Hors ligne
Pages: 1