我正在尝试使用Zend_Form Decorator实现以下html输出:
<tr>
<td id="from-label" **class="labelcell"**><label for="from" class="required">From</label></td>
<td><input type="text" name="from" id="from" value="" class="text"></td>
</tr>
我正在尝试在Label的封闭标记上添加class属性,例如内联样式属性。在上面的示例中,我想添加class="labelcell
“
装饰者陈述如下:
$from = $this->createElement('text', 'from', array(
'validators'=> array(array('regex', false, '/^[0-9]+/i')),
'required'=> true,
'label'=> 'From'
)
);
$from->setAttrib('class', 'text');
$from->setDecorators(
array(
'ViewHelper',
'Description',
'Errors',
array(array('data'=>'HtmlTag'), array('tag' => 'td')),
array('Label', array('tag' => 'td')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr'))
));
有没有办法实现我想要的,而不扩展Zend_Form_Decorator_Label以将附加选项传递给封闭标记?
答案 0 :(得分:2)
$from->setDecorators(array(
'ViewHelper',
'Description',
'Errors',
array(array('data'=>'HtmlTag'), array(
'tag' => 'td'
)),
array('Label', array(
'tag' => 'td',
'class' => 'labelcell'
'tagClass' => 'YourClassNameHere' <- THIS IS WHAT WILL ADD TO LABEL WRAPPER
)),
array(array('row' => 'HtmlTag'), array(
'tag' => 'tr'
)),
));
答案 1 :(得分:1)
有一个选项 class 。您也应该能够在配置数组中定义它。试试这个:
$from->setDecorators(array(
'ViewHelper',
'Description',
'Errors',
array(array('data'=>'HtmlTag'), array(
'tag' => 'td'
)),
array('Label', array(
'tag' => 'td',
'class' => 'labelcell'
)),
array(array('row' => 'HtmlTag'), array(
'tag' => 'tr'
)),
));