Zend_Form和装饰器布局

时间:2011-08-11 22:35:15

标签: php zend-framework zend-form decorator

有没有办法用这个设置我所有的Zend_Forms?

$this->element->setDecorators(array(
    'ViewHelper',
    'Errors',
    'Label',
    array('HtmlTag', array('tag' => 'div', 'id' => '[MyElementLabel]')));

而不是我的Zend_forms的逐个元素?我的意思是像表格布局

2 个答案:

答案 0 :(得分:2)

覆盖默认装饰器的最简洁方法是创建自己的元素集并覆盖loadDefaultDecorators()方法。

通过向插件加载器添加自定义前缀路径,您可以Zend_Form加载您的类而不是它自己的类。

以下是我的自定义表单元素集中的一些示例

这有点过时,因为我没有提交最近的更改,但你正在寻找的东西是适用的(插件加载器,默认装饰器等)

答案 1 :(得分:0)

如果您正在寻找一种处理Zend_Forms而不处理装饰器的方法(快速简便的方法),请查看:Zend_Form : data table with checkboxes

忽略复选框内容,重要的部分是在视图中按照您想要的方式布置表单(或者如果您想重用表单html,则部分放置),因此将表单传递给视图并将元素调用到html根据需要。