我有佈局here,我想將menu插入到菜單佈局中。最近,我使用框架來解決這個問題,但是這一次,我想嘗試使用div
而不是框架集,也通過CodeIgniter。如何爲div加載CodeIgniter的頁面
當菜單成功,所以我可以加載表格形式佈局:d
如何做到這一點通過CodeIgniter的框架?
我有佈局here,我想將menu插入到菜單佈局中。最近,我使用框架來解決這個問題,但是這一次,我想嘗試使用div
而不是框架集,也通過CodeIgniter。如何爲div加載CodeIgniter的頁面
當菜單成功,所以我可以加載表格形式佈局:d
如何做到這一點通過CodeIgniter的框架?
有兩種選擇是直接加載視圖的視圖內這樣
<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!
您不會加載頁裏面的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>
難道你不需要將'$ data'變量傳遞到視圖中以便可訪問嗎? so '$ this-> load-> view('layout')' 將是 '$ this-> load-> view('layout',$ data);' – dangel
當然,我只是忘了寫它。答覆更新,謝謝 –
如果你不知道如何做到這一點,你不理解MVC的基礎知識。我建議你閱讀[CodeIgniter文檔](http://codeigniter.com/user_guide/)(特別是MVC部分)。 –
我想這個問題的結構你還沒有使用codeigniter。你確定你已經準備好了嗎? –
你試過什麼代碼? –