2012-10-15 33 views
1

我目前无法实现Zend_Form/SubForm包含二维数组元素。如何创建一个Zend_Form_Elements的多维数组

我有一些从数据库查询返回的数据,我想在编辑表单中使用,并且我正在寻找我的表单来输出带有多维数组表示法的HTML输入标记作为名称,例如发布后返回的数据是一个2维数组,以便于处理。

例预期输出:

<input type="text" name="data[1][val] value="1"> 
<input type="text" name="data[1][str] value="asdf"> 
<input type="text" name="data[2][val] value="2"> 
<input type="text" name="data[2][str] value="fdsa"> 

在使用子窗体我的考验,我已经能够完成下面的输出,但我的第一对支脚似乎总是被过滤掉,我留下了:

<input type="text" name="data1[val] value="1"> 
<input type="text" name="data1[str] value="asdf"> 
<input type="text" name="data2[val] value="2"> 
<input type="text" name="data2[str] value="fdsa"> 

在我的许多搜索过程中,我一直能够找到很多关于如何完成1维数组表示法的文档,但是对于2维数组表示法来说空白。

回答

0

好吧,你有一个名为data1的子窗体吗?使用两个元素,名称为'val'且另一个名为'str'的元素,请尝试此操作,但不确定它是否可以正常工作:

$ elementVal-> setIsArray(true);

这将花药维添加到阵列“数据1”,但我不能指定一个名字给它,所以它会出现像“数据1 [VAL] []”

0

的形式setIsArray应设置真
$subform1->setIsArray(true);
$subform2->setIsArray(true);
然后setElementsBelongto可以为
$subform1->setElementsBelongTo('data[1]');
$subform2->setElementsBelongTo('data[2]');
我希望这给你一些想法被使用。