Php ZF:ZEND_子窗体-如何使元素名类似于列表[id][name]?

Php ZF:ZEND_子窗体-如何使元素名类似于列表[id][name]?,php,zend-framework,zend-form,subform,zend-form-sub-form,Php,Zend Framework,Zend Form,Subform,Zend Form Sub Form,我为子窗体创建元素: for($i = 1; $i<10; $i++) $name = new Zend_Form_Element_Text("[$i][name]"); for($i=1;$i为每个$i创建另一个Zend_表单_子表单: for ($i = 1; $i < 10; $i++) { $subform = new Zend_Form_SubForm(); $subform->addElement('text', 'name');

我为子窗体创建元素:

for($i = 1; $i<10; $i++)
     $name = new Zend_Form_Element_Text("[$i][name]");

for($i=1;$i为每个$i创建另一个Zend_表单_子表单:

for ($i = 1; $i < 10; $i++) {
    $subform = new Zend_Form_SubForm();
    $subform->addElement('text', 'name');
    $mainform->addSubForm($subform, $i);
}
($i=1;$i<10;$i++)的
{
$subform=new Zend_Form_subform();
$subform->addElement('text','name');
$mainform->addSubForm($subform,$i);
}
文本元素将命名为“1[名称]”、“2[名称]”等。如果要将它们命名为“列表[1][名称]”,则需要另一级别的子表单:

$listform = new Zend_Form_SubForm();
$mainform->addSubForm($listform, 'list');
for ($i = 1; $i < 10; $i++) {
    $listsubform = new Zend_Form_SubForm();
    $listsubform->addElement('text', 'name');
    $listform->addSubForm($listsubform, $i);
}
$listform=new Zend_Form_SubForm();
$mainform->addSubForm($listform,'list');
对于($i=1;$i<10;$i++){
$listsubform=new Zend_Form_SubForm();
$listsubform->addElement('text','name');
$listform->addSubForm($listsubform,$i);
}
使用

在$array中,您可以根据需要定义任意多个[]级别,您不必为那么多级别的子窗体创建,甚至不必为任何子窗体创建


享受吧!

您只需要一级子表单,然后为每个元素添加:$name->setBelongsTo('name');Thx,我尝试过。它似乎不起作用:(同时子表单中的子表单工作得很好我的错,语法应该是这样的(没有数组):$element->setBelongsTo('level1[level2][level3'))-100%正常工作,thx。将在下一个项目中尝试。我尝试了venimus所说的方法,但不起作用。为什么Zend_Form_Element_文件的id不起作用?我无法为它设置数组。
$element->setBelongsTo( $array )