分组Zend表单字段

时间:2014-02-10 09:50:30

标签: zend-framework zend-form form-fields

我是zend的新手,我正在使用zendForms,我想将表单字段分组,然后在前端我想在不同的div中显示它们,我也想为我的保存按钮做同样的事情,是可能?

1 个答案:

答案 0 :(得分:0)

通常使用ZF,您可以采用多种方式,我建议最简单的方法是定义显示组并查看它们生成的默认html是否适合您的需求(显示组默认使用fieldset标记进行渲染)。

如果您需要更多自定义,请参阅以下内容:

class Form_Product extends Zend_Form
{
    public function init()
    {
        $a = new Zend_Form_Element_Text('a');
        $b = new Zend_Form_Element_Text('b');
        $c = new Zend_Form_Element_Text('c');

        /*
         * The first way is to define display groups and customize their decorators
         */
        $this->addDisplayGroup(array($a, $b), 'groupAB');
        $this->getDisplayGroup('groupAB')->setDisableLoadDefaultDecorators(true);
        $this->getDisplayGroup('groupAB')->setDecorators(array(
            'FormElements',
            'DtDdWrapper'
        )); // or whatever decorators you need

        $this->addDisplayGroup(array($c), 'groupC');
        // ...

        /*
         * Second way is to use custom view script to render the form. 
         * In view use $this->element to get form object 
         * and $this->element->getElements() or $this->element->getElement('name') to get elements
         */
        $this->addElements(array($a, $b, $c));

        $this->setDisableLoadDefaultDecorators(true);
        $this->setDecorators(array(
            array('ViewScript', array('viewScript' => 'controller/action/form.phtml')),
        ));
    }
}