2013-04-08 110 views
2

刚刚陈述了一周前的zend2,并且对框架环境有所了解。在一个页面中显示多个表格

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

报告/添加 公司/加 用户/使用自己的视图文件

输出三种不同的形式。但我需要其中三个单页。

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

回答

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

+0

感谢山姆,它的工作。你的教程很棒。对于初学者来说,它们实际上是很棒的帮 – 2013-04-08 13:39:07

+0

你也可以使用视图模型嵌套,看看[这里](http://stackoverflow.com/questions/15342330/zend-framework-2-two-templates-in-one-layout/15361266#15361266)看到如何做到这一点。 – 2013-04-09 13:56:07

相关问题