Zend framework Zend:ViewScript装饰器和数组表示法

Zend framework Zend:ViewScript装饰器和数组表示法,zend-framework,zend-form,Zend Framework,Zend Form,我有一个复选框矩阵,我把它放在一张桌子上。我需要将这个矩阵拉到多个表单中,有时在一个表单上多次,所以我将它设置为一个子表单 经过大量的研究和思考,我决定装饰子窗体的最佳方法是使用viewScript装饰器。将子窗体添加到窗体的代码如下所示: $this->addSubForm(new Test_Form_Connection_Config_Base(), 'user'); $this->user->setDecorators(array( array('viewScri

我有一个复选框矩阵,我把它放在一张桌子上。我需要将这个矩阵拉到多个表单中,有时在一个表单上多次,所以我将它设置为一个子表单

经过大量的研究和思考,我决定装饰子窗体的最佳方法是使用viewScript装饰器。将子窗体添加到窗体的代码如下所示:

$this->addSubForm(new Test_Form_Connection_Config_Base(), 'user');
$this->user->setDecorators(array(
    array('viewScript', array('viewScript' => '_forms/userConfig.phtml')),
          'Description',
          'FieldSet',
        ));
在大多数情况下,这很好,但是我的一个问题是,我不能让数组表示法工作。显然,当我在一个特定的表单上多次包含矩阵时,这就成了一个问题

我尝试使用setIsArray(true),但是没有效果。似乎我需要运行FormElements装饰器来获得数组表示法,但这会在页面上提供一组重复的字段(一次由FormElements呈现,一次由viewScript呈现)

我可以手动构造每个元素的名称以反映数组表示法,但这似乎是一个漫长的过程。我还缺少其他选择吗


谢谢

在使用ViewScript装饰器之前,应始终使用PrepareElements装饰器来规范化名称


Phil,你的天才是永无止境的吗?