2010-07-08 36 views

回答

12

主視圖沒有內置的框架。要獲得類似的效果,您可以加載子視圖並將其傳遞給主視圖。

控制器:

class Items extends Controller 
{ 
    function show($id) 
    { 
     $item = $this->item_model->get_item($id); 

     // Load the subview 
     $content = $this->load->view('item/show', array('item' => $item), true); 

     // Pass to the master view 
     $this->load->view('master_view', array('content' => $content)); 
    } 
} 

母版視圖:

<div id="header"> 
</div> 
<div id="content"> 
    <?php echo $content; ?> 
</div> 
<div id="footer"> 
</div> 

爲了回答您的其他問題,我把所有的JavaScript腳本的和CSS目錄中在我的項目的根。

+0

這正是我所期待的,非常感謝你:) – GerManson 2010-07-09 00:28:24

0

我不是太熟悉.NET或笨,但它似乎相同的功能可以通過明智地使用Views提供。該頁上的第一句話是:

事實上,如果您需要此類層次結構,視圖可以靈活地嵌入到其他視圖(在其他視圖等內)中。

這似乎正是一個MasterPage提供的。實際上,大多數PHP框架和模板系統都提供相同的功能。

在回答第二個問題時,您可能希望將腳本,樣式和圖像保存在Web根目錄的單獨文件夾中。我相信這些URL與index.php相關,因此將資源保留在那裏會使它們更易於在視圖中引用。另一種選擇是看看Asset Helper

+0

現在我正在使用視圖功能,但我想知道是否有什麼能以更智能和簡單的方式實際解決問題。 – GerManson 2010-07-08 04:00:20

+0

我承認我不知道MasterPages的第一件事情,必須查看它們。不過,從我讀過的內容看來,每個內容頁面都需要引用其母版頁面,這似乎與在每個「內容」控制器中加載主視圖不同。如我錯了請糾正我。 – TNi 2010-07-08 04:15:46

+0

http://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx – GerManson 2010-07-08 04:17:38

2

我不確定他們有什麼東西完全像母版頁。 CodeIgniter更多的是一個MVC框架,並使用視圖和控件來構建頁面。如果你是CodeIgniter的新手,net.TutsPlus有一個真正的好的series of videos,深入瞭解如何使用不同的scenerios框架。看看「趕上」一節,看看視頻列表。

希望這可以幫助您在項目中獲得一些好運。

+0

感謝您的鏈接,我真的很感激它 – GerManson 2010-07-08 04:00:48