Zend Form : Ajouter du code Html avant ou après un élement du formulaire
Petit tips pour ajouter du code HTML avant ou après un élément d’un formulaire :
Créer une classe (décorateur) qui hérite de la classe Zend_Form_Decorator_Abstract :
class lib_Abx_Form_Decorator_Html extends Zend_Form_Decorator_Abstract
{
public function render($content) {
$placement = $this->getPlacement();
switch ($placement) {
case self::APPEND:
return $content . $this->_options['html'];
break;
case self::PREPEND:
return $this->_options['html'] . $content;
break;
}
}
}
Maintenant on désire ajouter un lien à la suite d’un champ Texte.
$name = new Zend_Form_Element_Text('name');
$name->addPrefixPath ( 'lib_Abx_Form_Decorator', 'lib/Abx/Form/Decorator', 'decorator' ) //chemin vers décorateur
->setDecorators(array(
'ViewHelper',
array(array('suffix' => 'Html'),
array('html' => '<a href="http://www.google.fr">aaa</a>', 'placement' => 'append')),
// On peut remplacer par 'prepend' si on désire le mettre avant le champs
));
$form->addElement($name);
Voici le rendu visuel :
| Imprimer l'article | Cette entrée a été posté par Johann le 2 juin 2010 à 10:43, et placée dans Non classé. Vous pouvez suivre les réponses à cette entrée via RSS 2.0. Vous pouvez aller directement à la fin et laisser une réponse. Le ping n'est pas autorisé pour le moment. |
