2012-08-25 85 views
0

我有佈局here,我想將menu插入到菜單佈局中。最近,我使用框架來解決這個問題,但是這一次,我想嘗試使用div而不是框架集,也通過CodeIgniter。如何爲div加載CodeIgniter的頁面

當菜單成功,所以我可以加載表格形式佈局:d

如何做到這一點通過CodeIgniter的框架?

+3

如果你不知道如何做到這一點,你不理解MVC的基礎知識。我建議你閱讀[CodeIgniter文檔](http://codeigniter.com/user_guide/)(特別是MVC部分)。 –

+1

我想這個問題的結構你還沒有使用codeigniter。你確定你已經準備好了嗎? –

+0

你試過什麼代碼? –

回答

1

有兩種選擇是直接加載視圖的視圖內這樣

<div id="sidebar"> 

<?php $this->load->view('template/sidebar.php'); ?> 

</div> 

或把它當作來自控制器的變量和在視圖回聲它像這樣

function index(){ 

$data['sidebar'] = $this->_get_sidebar(); 
$this->load->view('home',$data); 
} 

function _get_sidebar(){ 

return $this->load->view('template/sidebar',TRUE); 

} 

and on the view

<div id="sample"> 
    <?php echo $sidebar;?> 
</div> 

Goodluck!

0

您不會加載裏面的div,但意見。 我會是這樣的:

控制器main.php

Class Main extends CI_Controller{ 

    function index() 
    { 
    $this->load->model('mymodel'); 
    $data['menu_items'] = $this->mymodel->get_menu(); 
    $this->load->view('layout', $data); 
    } 
} 

現在你有$ menu_items在您看來layout.php中的變量可用。一個簡單的方法是在「主」視圖中加載「partials」視圖(所有加載到另一個視圖中的視圖都有可用的變量)。 SO,這樣的事情:

的意見/ layout.php中

<!DOCTYPE html> 
<html><head><title></title></head> 
<body> 
    <header> 
     <?php $this->load->view('partials/header'); ?> 
    </header> 

    <section> 
    <aside> 
    <nav> 
     <?php $this->load->view('partials/menu');?> 
    </nav> 
    </aside> 
     <article> 
     <?php $this->load->view('partials/content');?> 
     </article> 
    </section> 
    <footer> 
     <?php $this->load->view('partials/footer');?> 
</footer> 
</body> 
</html> 

現在您所創建的文件夾視圖裏面的諧音/泛音/,他們將有自己的變量在你的控制器傳遞到佈局視圖。

文件views/partials/menu.php

<ul> 
    <?php foreach($menu_items as $item): ?> 
    <li><?php echo $item['name'];?></li> 
    <?php endforeach;?> 
</ul> 
+0

難道你不需要將'$ data'變量傳遞到視圖中以便可訪問嗎? so '$ this-> load-> view('layout')' 將是 '$ this-> load-> view('layout',$ data);' – dangel

+0

當然,我只是忘了寫它。答覆更新,謝謝 –