我有布局here,我想在菜单布局中插入menu。最近,我正在使用frameset来解决这个问题,但这一次,我想尝试使用div
代替frameset,也可以尝试使用CodeIgniter。
当菜单成功时,我可以将表单加载到表单布局:D
如何通过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);
}
并在视图上
<div id="sample">
<?php echo $sidebar;?>
</div>
古德勒克!
答案 1 :(得分:0)
您不会在div中加载页面,而是视图。 我会这样:
Controller 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);
}
}
现在,您可以在视图layout.php中使用$ menu_items变量。一种巧妙的方法是在“主”视图中加载“部分”视图(在另一个视图中加载的所有视图都有可用的变量)。 所以,像这样:
视图/ 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>
现在您在文件夹视图/ partials /中创建部分,并且它们将控制器中的变量传递给布局视图。
档案views/partials/menu.php
<ul>
<?php foreach($menu_items as $item): ?>
<li><?php echo $item['name'];?></li>
<?php endforeach;?>
</ul>