2013-04-08 108 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

相關問題