2010-01-13 3 views
3

j'ai quelques Zend_Forméléments de formulaire Style dans Zend Framework

$text = new Zend_Form_Element_Textarea('text'); 
$text->setLabel('Leave a reply') 
    ->setAttrib('rows', 9) 
    ->setAttrib('cols', 50) 
    ->addValidator('NotEmpty') 
    ->setRequired(true) 
    ->setAttrib('class', 'comment_form'); 

Je baguette de style ce formulaire, d'ajouter un peu de style pour la balise d'étiquette et un autre style pour la balise textarea. Comment puis-je faire cela?

Répondre

4

Vous devez modifier les décorateurs directement:

$text->getDecorator('Label')->setOption('class', 'my-class-name');

Ou vous pouvez définir le style de l'élément en utilisant correctement l'ID généré comme suggéré par Mark. En règle générale, si elle doit s'appliquer à plus d'un identifiant de formulaire unique, faites comme je le suggère pour minimiser la longueur de css et ajouter de la clarté.

+0

ne savais pas que vous pouvez le faire de cette façon. Je suggérerais cette façon au lieu de la mienne – Mark

5
$textarea = new Zend_Form_Element_Textarea ('intro', array(
    'label' => 'Introduction', 
    'attribs' => array ('style' => 'width: 100px'), 
)); 

ou si vous avez déjà un élément textarea $

$textarea->setAttrib('style', 'width: 100px;'); 
Questions connexes