我正在设计项目样式,每个人都使用Zend_Form和默认元素。这使得无法设置提交按钮的样式。 因此,我想覆盖默认的Zend_Form装饰器以提交按钮,但不会更改创建Zend_Form的每一行。
这可能吗? 如果是,怎么样?
答案 0 :(得分:1)
您可能希望 子类Zend_Form_Element_Submit
并使用loadDefaultDecorators()
为您的提交设置默认装饰器:
class My_Form_Element_Submit extends Zend_Form_Element_Submit
{
public function loadDefaultDecorators()
{
// set your default decorators for the submit element
$decorators = $this->getDecorators();
if (empty($decorators)) {
$this->setDecorators(array(
'ViewHelper',
array(
array('field' => 'HtmlTag'),
array(
'tag' => 'span',
'class' => 'some-wrapper-class'
)
)
));
}
}
}
以上装饰器会导致 HTML代码看起来像这样 ,让您轻松设置提交按钮的样式:
<span class="some-wrapper-class">
<input type="submit" name="save" id="save" value="Save">
</span>