我正在使用 Zend Form 开发模型。我有一个名为 $product_item 的子表单。我想将它的多个实例添加到另一个名为 $items 的子表单中。我该怎么做呢?我没有发现 Zend 参考指南特别有用。
问问题
1517 次
1 回答
3
您可以将子表单添加到子表单:-
$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();
?>
于 2011-12-10T03:52:48.367 回答