我有一些Zend_Form
$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');
我想用这种形式设计样式,为标签标签添加一些样式,为textarea标签添加另一种样式。 我怎么能这样做?
答案 0 :(得分:5)
$textarea = new Zend_Form_Element_Textarea ('intro', array(
'label' => 'Introduction',
'attribs' => array ('style' => 'width: 100px'),
));
或者如果你已经在$ textarea中有一个元素
$textarea->setAttrib('style', 'width: 100px;');
答案 1 :(得分:4)
您需要直接修改装饰器:
$text->getDecorator('Label')->setOption('class', 'my-class-name');
或者您可以使用Mark建议的生成ID来适当地设置元素的样式。作为一般规则,如果它需要应用于多个单独的表单id,请按照我建议的方式尽量减少css长度并增加一些清晰度。