Zend框架中的样式表单元素

时间:2010-01-13 17:24:06

标签: zend-framework

我有一些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标签添加另一种样式。 我怎么能这样做?

2 个答案:

答案 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长度并增加一些清晰度。