Zend framework 如何对子窗体进行分组

Zend framework 如何对子窗体进行分组,zend-framework,zend-form,zend-form-sub-form,Zend Framework,Zend Form,Zend Form Sub Form,我有4个子表单,我想将其中的2个子表单组合在一起,然后对它们应用一些装饰程序 这是我到目前为止所拥有的。w/在每个子窗体中,我已经存在一些显示组 $this->setSubForms(array( 'sub1' => $sub1, 'sub2' => $sub2, 'sub3' => $sub3, 'sub4' => $sub4 )); 我想我可以做一些类似的事情 $set1 = $this->setSubFormDe

我有4个子表单,我想将其中的2个子表单组合在一起,然后对它们应用一些装饰程序

这是我到目前为止所拥有的。w/在每个子窗体中,我已经存在一些显示组

$this->setSubForms(array(
    'sub1'  => $sub1,
    'sub2'  => $sub2,
    'sub3'  => $sub3,
    'sub4'  => $sub4
));
我想我可以做一些类似的事情

$set1 = $this->setSubFormDecorators(array(
    'sub1'  => $sub1,
    'sub2'  => $sub2
    ));
    $set1->setDecorator(array('something here'));

$set2 = $this->setSubFormDecorators(array(
    'sub3'  => $sub3,
    'sub4'  => $sub4
    ));
    $set2->setDecorator(array('something here'));
显然这根本不起作用


我真的在ZF的文档中找不到任何东西。我想如果有人遇到这种困境,我会把它贴在这里。

也许在这种情况下,
addDisplayGroup
也可以?

所以基本上我已经解决了

首先,创建“空”子窗体

然后将所需的子窗体添加到此“子窗体”中

对要向其中添加装饰器的其他子窗体执行相同的操作

$right = new Zend_Form_SubForm();     

$right->setSubForms(array(
   'sub3'  => $sub3,
   'sub4'  => $sub4
));
然后在原始表单中添加这些新的“$left”和“$right”子表单

$this->setSubForms(array(
   'left'  => $left,
   'right' => $right
));
然后,您可以根据需要对“$left”和“$right”子窗体应用装饰程序

因为我想删除封装内部元素的字段集 我的看起来像这样,你对另一个也一样

    $left->setDecorators(array(
        'FormElements',
        array('HtmlTag', array('tag' => 'div')),
        ));

谢谢

没有addDisplayGroup需要元素。我已经弄明白了。谢谢
$this->setSubForms(array(
   'left'  => $left,
   'right' => $right
));
    $left->setDecorators(array(
        'FormElements',
        array('HtmlTag', array('tag' => 'div')),
        ));