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

Nee*_*yan 2 zend-framework2

刚刚提到一周前的zend2和框架环境的新手.

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

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

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

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

Sam*_*Sam 5

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

form_one.phtml

$form = $this->form;
//render your Form
Run Code Online (Sandbox Code Playgroud)

form_two.phtml

$form = $this->form;
//render your Form
Run Code Online (Sandbox Code Playgroud)

到目前为止这么好,没有什么特别的.让我们快速绕道DashboardController而不是具体dashboardAction()

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

    return array(
        'form_one' => $formOne,
        'form_two' => $formTwo
    );
}
Run Code Online (Sandbox Code Playgroud)

有了这个设置,变量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));?>
Run Code Online (Sandbox Code Playgroud)

通过此设置,您可以将特定渲染视图文件的每个表单都知道为form具有较少魔法$this->form