2009-11-24 75 views
2

啊原諒我的Zend newbness,我試圖訪問此形式,保存在:的Zend - 從控制器訪問佈局屬性

layouts/scripts/layout.phtml

$this->layout()->userForm = $this->action('index', 'user'); 

class IndexController extends Zend_Controller_Action 
{ 
    public function init() 
    { /* Initialize action controller here */ 
    } 
    public function indexAction() 
    { 
    // here 
    } 
} 

的indexAction,除了在佈局中,我基本上需要在主頁上顯示的表單。

我試着用$this->_helper->layout()->userForm訪問它,但我懷疑在控制器中的代碼,因爲它沒有給我什麼,我想要的佈局之前運行。

回答

4

我真的不明白你的問題。

  • 爲什麼一切都意味着您的表單存儲在佈局文件夾中?
  • 你是什麼意思與「除了顯示在主頁佈局中的被」?似乎你沒有像Zend一樣的'佈局'定義。我瞭解它的佈局,包含了所有的內容和片段,所以句子沒有意義。
  • 你爲什麼不只是啓動形式,它傳遞給視圖?

像這樣:

$userForm = new UserForm(); 
$this->view->userForm = $userForm; 
1

我覺得

$this->_helper->layout->userForm 

應該這樣做。

後,我不知道你爲什麼不重用

$this->action('index', 'user'); 
在你看來

似乎更簡單得多恕我直言。

+0

是的,我試過,但現在看來似乎不吐什麼的,這就是爲什麼我懷疑控制器代碼運行的佈局屬性獲取設置可能過嗎? – 2009-11-24 06:44:35

+0

是的佈局可能會最後跑,反正你不應該把代碼中的佈局只是我的感覺。 – RageZ 2009-11-24 06:49:24