Zend框架中的样式表单元素

Pav*_*vlo 3 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');
Run Code Online (Sandbox Code Playgroud)

我想用这种形式设计样式,为标签标签添加一些样式,为textarea标签添加另一种样式.我怎样才能做到这一点?

pro*_*son 5

您需要直接修改装饰器:

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

或者,您可以按照 Mark 的建议使用生成的 ID 适当地设置元素样式。作为一般规则,如果它需要应用于多个表单 id,请按照我建议的方式来最小化 css 长度并增加一些清晰度。


小智 5

  $textarea = new Zend_Form_Element_Textarea ('intro', array(
  'label' => 'Introduction',
  'attribs' => array ('style' => 'width: 100px'),
  ));
Run Code Online (Sandbox Code Playgroud)

或者如果你已经在$ textarea中有一个元素

$textarea->setAttrib('style', 'width: 100px;');
Run Code Online (Sandbox Code Playgroud)