Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je me trouve fasse à un problème ce soir, en voulant pousser l'utilisation de Zend_Form, je voulais ,si un erreur apparait dans un element (d'un formulaire), l'entourer (wrapper) d'un element HTML avec une classe CSS et la je bloque ...
En gros voila ce que je voudrais :
Si quelqu'un a une idée ?
Merci beaucoup !
A bientôt !
Clément
Hors ligne
tu recodes ton Decorateur Error
Et comme je suis sympa, voici un exemple :
class My_Form_Decorator_Errors extends Zend_Form_Decorator_Errors { public function render($content) { $element = $this->getElement(); $view = $element->getView(); if (null === $view) { return $content; } $errors = $element->getMessages(); if (empty($errors)) { return $content; } $htmltag = $element->getDecorator('Htmltag'); if ($htmltag !== false) $element->getDecorator('Htmltag')->setOption('class', 'ctrlHolder error'); $formErrors_Helper = $view->getHelper('formErrors'); $formErrors_Helper->setElementStart('<p class="errorField"><strong>'); $formErrors_Helper->setElementSeparator('</strong></p><p class="errorField"><strong>'); $formErrors_Helper->setElementEnd('</strong></p>'); return (parent::render($content)); } }
On décorateur fait 2 chose :
Si htmlTage est utilisé, il lui rajoute la classe 'error' (car j'ai des div qui entoure mes balises label et input)
Il change ses propres elements html (tu les vois à la fin de mon de code)
A+
Hors ligne
Merci bien
Mais sais tu comment englober uniquement le input type et pas le label (quand on fait le setLabel dans le formulaire).
Comme sous Rails enfaite
Pour eviter de faire une selection CSS mais plutôt d'englober le tout
Merci beaucoup
Clément
Hors ligne
beh la, je pense qu'il n'y rien de plus simple, tu intercales un décorateur (htmltag) entre ton décorateur 'viewHelper' et 'Label'
Hors ligne
bonjour
excusez moi je debute en zend,
je voulais faire la même chose...
comment faire pour appeler cette classe pour qu'elle s'applique a mon formulaire
merci beaucoup
Dernière modification par alexsplif (23-02-2009 16:01:44)
Hors ligne
C'est automatique à partir du moment que tu renseignes les chemins de tes décorateurs perso.
Hors ligne
Pages: 1