Ruf*_*nus 5 zend-framework2 zend-form2
Zend Form 2构建了Fieldsets中的所有元素.(Zend\Form\Form扩展Fieldset - Form :: add调用parent :: add)
如果我只是将元素添加到表单中,我可以通过它获取它们$form->getElements()如果我使用字段集我可以通过它
foreach($form->getFieldsets() as $fieldset){
$elements = $fieldset->getElements();
}
Run Code Online (Sandbox Code Playgroud)
但想象一下我添加一些隐藏字段,然后是字段集,最后添加一个提交按钮的表单.
如何以正确的顺序获取元素/字段集?
这背后的原因,我正在研究一个视图帮助器,它允许我通过简单的调用视图助手来打印表单.
我不想通过调用调用每个表单元素formRow()
(我知道Form2背后的概念 - 将逻辑与表示分离)
任何帮助深表感谢.TIA
您可以执行以下操作,以按照添加到表单的顺序获取元素和字段集:
/* $form is an instance of \Zend\Form\Form */
foreach ($form as $element) {
// check if it's a form element or a fieldset etc.
// and recursively iterate over elements of fieldsets etc.
}
Run Code Online (Sandbox Code Playgroud)