2011-10-18 63 views
1

我創建了一個zend表單,它能夠生成具有以下元素的子表單:items [0] [price],items [0] [count];項目[1] [價格]等 在我需要顯示某些數據的表的每一行。所以,在我看來,我創建了一個html表,並嘗試遍歷'items'並在表的某個列中插入某個表單元素。Zend形式發佈多維數組

<table> 
<?php foreach($this->form->getSubform('items') as $item) :?> 
    <tr> 
    <td>just some data like product name</td> 
    <td><?php echo $item->getElement('price');?></td> 
    <td><?php echo $item->getElement('count');?></td> 
    </tr> 
<?php endforeach;?> 
</table> 

之後,每個表單元素項目沒有數組名了,因爲我期待,但就像「項目」或每行中「計數」,所以多維數組將不予退還。

如果我在視圖(echo $this->form;)中生成表單,那麼表單元素名稱是好的,但我應該如何在表中添加一些數據然後..?最好應該在視野內完成。

回答

1

不要總是以價格和數量添加元素,因爲您是以dinamically方式生成字段,請嘗試將它們命名爲price1,count1,price2,count2等。然後,您可以使用新名稱(附加計數)在表格中檢索它們。

0

用PrepareElements裝飾器預先裝載您的表單裝飾器堆棧。這個裝飾器將遍歷你的表單並設置合適的belongsTo名稱。