在一个页面中显示多个表单

时间:2013-04-08 12:31:30

标签: zend-framework2

一周前刚刚提到过zend2,并且是框架环境的新手。

使用zend2教程,我创建了不同的表单,但现在我需要的是在一个页面中显示三个表单。

报告/添加 公司/加 用户/添加

使用自己的视图文件输出三种不同的形式。但我需要其中三个单页。

我尝试了很多搜索,但未找到相关结果。问题可能重复,如果是,请放弃参考。

1 个答案:

答案 0 :(得分:5)

你对\Zend\View\Helper\Partial感兴趣。此ViewHelper允许您在当前视图文件中呈现不同的视图文件。让我们假设您的场景中有某种仪表板可以呈现多种形式。

<强> form_one.phtml

$form = $this->form;
//render your Form

<强> form_two.phtml

$form = $this->form;
//render your Form

到目前为止这么好,这里没什么特别的。让我们快速绕道您的DashboardController或更具体的dashboardAction()

public function dashboardAction()
{
    $formOne = new FormOne();
    $formTwo = new FormTwo();

    return array(
        'form_one' => $formOne,
        'form_two' => $formTwo
    );
}

通过此设置,变量form_oneform_two将在dashboard.phtml

中提供

<强> dashboard.phtml

<h2>FormOne</h2>
<?=$this->partial('form_one.phtml', array('form' => $this->form_one));?>

<h2>FormTwo</h2>
<?=$this->partial('form_two.phtml', array('form' => $this->form_two));?>

使用此设置,您可以将特定呈现视图文件的每个表单都称为form或使用较少的魔法$this->form