2011-01-28 38 views
0

也許我不太瞭解MVC約定,但我試圖將一個文件包含到主索引控制器的index.phtml視圖中,並且它不斷給我一個應用程序錯誤。我不知道這個錯誤是什麼或者爲什麼它不起作用。但是我在視圖中使用了一個標準的include_once(...)。如何將PHP文件包含在Zend/MVC的視圖文件中?

這甚至允許嗎?

+0

那麼你如何爲跨頁面使用的相似模板創建視圖? – qodeninja 2011-01-28 00:31:40

回答

3

Zend中的視圖仍然只是一個php文件。如果使用include_once()在視圖中發生錯誤,則可能是因爲在包含路徑中找不到您想要的文件。嘗試將get_include_path()轉儲到視圖中,您將看到PHP正在搜索哪些目錄以查找包含的文件。

作爲替代include_once,你可以使用

<? echo $this->render('{module}/{action}.phtml') ?>

文件中拉。

2

視圖是僅將要呈現的HTML局部視圖。這是處理的最後一件事。首先調用控制器,然後調用其中需要的任何模型。將所有數據傳遞給視圖後,視圖的HTML將被呈現。

總之:無論你在視圖中包含什麼,控制器都不知道它。你需要在代碼中運行你的PHP包含。如果你在控制器中執行它,它應該工作正常,我想(沒有測試過,所以我不保證任何東西)。

0

您可以使用Zend的視圖助手爲了這個目的

0

最後一次這個工作正常,我。你可以試試這個:

<?php echo $this->partial('common/left_menu.phtml'); ?> 
相關問題