有没有办法用这个设置我所有的Zend_Forms?
$this->element->setDecorators(array(
'ViewHelper',
'Errors',
'Label',
array('HtmlTag', array('tag' => 'div', 'id' => '[MyElementLabel]')));
而不是我的Zend_forms的逐个元素?我的意思是像表格布局
答案 0 :(得分:2)
覆盖默认装饰器的最简洁方法是创建自己的元素集并覆盖loadDefaultDecorators()
方法。
通过向插件加载器添加自定义前缀路径,您可以Zend_Form
加载您的类而不是它自己的类。
以下是我的自定义表单元素集中的一些示例
这有点过时,因为我没有提交最近的更改,但你正在寻找的东西是适用的(插件加载器,默认装饰器等)
答案 1 :(得分:0)
如果您正在寻找一种处理Zend_Forms而不处理装饰器的方法(快速简便的方法),请查看:Zend_Form : data table with checkboxes
忽略复选框内容,重要的部分是在视图中按照您想要的方式布置表单(或者如果您想重用表单html,则部分放置),因此将表单传递给视图并将元素调用到html根据需要。