2012-10-15 53 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]');
我希望這給你一些想法被使用。