我在这里有布局,我想将菜单插入到菜单布局中。最近,我使用框架集来解决这个问题,但这一次,我想尝试使用 adiv
而不是框架集,也可以通过 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);
}
并且在视图中
<div id="sample">
<?php echo $sidebar;?>
</div>
祝你好运!
您不会在 div 中加载页面,而是在views中加载页面。我会这样:
控制器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 变量。一种简洁的方法是在“主”视图中加载“部分”视图(在另一个视图中加载的所有视图都有可用的变量)。所以,像这样:
意见/布局.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>
现在您在文件夹 view/partials/ 中创建局部视图,它们将在您的控制器中将变量传递给布局视图。
文件views/partials/menu.php
<ul>
<?php foreach($menu_items as $item): ?>
<li><?php echo $item['name'];?></li>
<?php endforeach;?>
</ul>