1
我正在使用Zend窗體的模型。我有一個名爲$ product_item的子表單。我想將它的多個實例添加到名爲$ items的另一個子表單中。我會怎麼做呢?我沒有找到Zend參考指南特別有用。子窗體內的子窗體
我正在使用Zend窗體的模型。我有一個名爲$ product_item的子表單。我想將它的多個實例添加到名爲$ items的另一個子表單中。我會怎麼做呢?我沒有找到Zend參考指南特別有用。子窗體內的子窗體
你可以只添加子形式子形式: -
$form = new Application_Form_Test();
$subForm1 = new Application_Form_TestSubForm();
$subForm2 = new Application_Form_TestSubForm();
$subForm1->addSubForm($subForm2, 'sub2');
$form->addSubForm($subForm1, 'sub1');
$this->view->form = $form;
在提交窗體值將在$_POST
陣列陣列可用。例如,$value=$_POST['sub1']['sub2']['name']
。
http://framework.zend.com/manual/en/zend.form.forms.html#zend.form.forms.subforms
要打印或子訪問形式元素,你有幾種選擇: -
如果$subForm1
有這樣聲明的元素: -
$email = new Zend_Form_Element_Text('email');
然後email
場可以呈現在這樣的看法: -
<?php echo $this->element->sub1->email; ?>
請記住,這些元素不會被您用來聲明它們的變量名稱的名稱引用。
另外,請記住$this->element
引用的是Zend_Form
的實例,因此您可以使用所有這些方法。這意味着你可以這樣做: -
<?php
$form = $this->element;
$formElements = $form->getElements();
?>
謝謝。跟進,如果我可以......我知道你可以在視圖中打印一個正常的表單元素,如下所示:'= $this-> element-> email;?>'。如果$ email是$ subForm1的元素,那麼您將如何打印它? – liz
我編輯了我的答案。 – vascowhite
更新:找出它:'$ this-> element-> sub1-> sub2-> email;' – liz