0

我正在編寫一個Web應用程序,我需要在一個特定控制器的所有操作中返回/計算的所有數據將數據返回到佈局(而不是視圖)。Zend Framework:將數據添加到控制器的每個動作的佈局

因此,在每個操作之後,需要將控制器變量傳遞給佈局,以便佈局可以使用它。

詳細地說,我想將計算的數據存儲在jSon的頭部。

任何想法如何做到這一點? 我想過一個控制器插件,但我不知道如何訪問所需的參數然後我真的不想使用一個單一的這一切。

回答

1

讓用,這種方法是每一個行動

public function preDispatch() { 
} 

之前執行例如

public function preDispatch() 
{ 
     //calculate something 
     //this is an example 
     if($this->getRequest()->getActionName()=="admin") 
     { 
      $this->_helper->layout->setLayout('admin'); 
     } 
     else 
     { 
      $this->_helper->layout->setLayout('user'); 
     } 
} 
+0

等待,這樣我就可以使用,我會定義插件控制器以及方法?我怎麼不知道?我從來沒有見過任何人這樣做。感謝您指出我!祝你今天愉快! – 2011-12-20 10:04:00

+0

@AndreschSerj這個代碼運行在控制器兄弟 – hungneox 2011-12-20 10:05:52

+0

就像我說的。是。謝謝。其實已經嘗試過,並且工作正常......但是我不知道我有一個兄弟。但是marier對嗎? ;-D – 2011-12-20 10:13:18

2

有人已經問的問題是這樣的。您可能會發現以下網址有用。

Passing values to the Layout in Zend Framework.....?

+0

我還沒有在我的搜索中找到答案。此外,這隻解決了我的問題(訪問佈局)的一部分,仍然是有道理的鏈接在這裏嗎?那謝謝啦! – 2011-12-20 10:11:59