zf1:检索子表单

时间:2013-01-22 19:14:37

标签: zend-framework zend-form

我有一个表格,其中包含A类的5个子表格,以及B类的另一个子表格。

我想首先在视图中显示A类的子表单,但我不知道如何只检索它们。

我应该创建另一个包含A类5个子表单的子表单吗? 有没有办法根据模式获取子表单?

我正在控制器中的表格如下:

   for($i = 0; $i < 6; $i++)
   {
       $form = new ContractLink_Form_ContractOMFOverrideAppendix();
       $form->setElementsBelongTo('override' . $i);
       if(isset($overrides[$i])) {
           $form->populate($overrides[$i]);
       }

       $formSuper->addSubForm($form, 'OMFOverrideAppendixForm' . $i);
   }

我正在使用zf1。

1 个答案:

答案 0 :(得分:2)

正如IRC所说,

您可以使用instanceof PHP operator检查子表单的类。

$subForms = $form->getSubForms();
foreach ( $subForms as $subForm ) {
    if ($subForm instanceof A) {
        // stuff to do for 'A' type of subform
    }
}