0
我正在建立一個使用Zend_Form的表單,並嘗試嵌套深度多層的子表單。結果我以後如下:Zend_Form_SubForm嵌套多層深
<div id="details">
<table class="subForm">
<tr>
<td>
<!-- Element -->
</td>
<td>
<!-- Element -->
</td>
</tr>
</table>
</div>
<div id="content">
<table class="subForm">
<tr>
<td>
<!-- Element -->
</td>
<td>
<!-- Element -->
</td>
</tr>
</table>
</div>
當前做到這一點,我創建了一個子形式與我的元素和裝飾,連接的是與裝飾(沒有元素)的亞形式,這是然後附加到表單。
// create sub form container decorators
public $subFormContainerDecorators = array(
array('FormElements'),
array(array('data' => 'HtmlTag'), array('tag' => 'div',
'id' => 'details'))
);
// create sub form decorators
public $subFormDecorators = array(
array('FormElements'),
array(array('data' => 'HtmlTag'), array('tag' => 'table',
'class' => 'subForm'))
);
// create sub form and attach elements
$details = new Zend_Form_SubForm();
$details->setDecorators($this->subFormDecorators);
$details->addElement($name)
->addElement($save);
// create container div
$detailsContainer = new Zend_Form_SubForm();
$detailsContainer->setDecorators($this->subFormContainerDecorators);
$detailsContainer->addSubForm($details, 'details');
// attach subform container to main form
$this->addSubForm($detailsContainer, 'detailsContainer');
這是我目前似乎可以實現我需要的嵌套級別的唯一方法。但是,這也需要我爲每個子表單集合創建所有容器及其子表單的裝飾器。我看不出有任何其他的方式來實現這一點,但我相信會有比這更好的方法。
如果有人能幫助它將不勝感激。
這看起來似乎在subForm表旁邊添加了一個空的div,其ID爲'details'。我錯過了什麼嗎? – 2012-04-17 10:06:44
完美!到底是什麼我以後。乾杯。 – 2012-04-17 10:37:56