我想创建一个动态菜单,该动态菜单在我网站的所有页面上都是通用的。我在php中完成了此操作,但是我必须使用codeigniter来实现相同的目的。因此,该怎么做才能在所有页面上显示所有菜单。
我已经在控制器上完成了这件事。
if(!isset($courses['code'])){
$data['courses'] = $courses;
}
$this->load->view('common/'.$page, $data);
其中$ page = header。
此功能在我的课程模式中。
公共函数fetchCourses() {
$this->db->select('id, course_name, image, sort_order, parent_id, date_added, status');
$this->db->from('ls_courses');
$query = $this->db->get();
if(!empty($query->result_array()))
{
return $query->result_array();
}
else
{
return $this->db->error();
}
}
这是我的看法UL。
<li class="active"><a href="<?php echo base_url(''); ?>">Home</a></li>
<li><a href="<?php echo base_url('about'); ?>">About Us</a></li>
<li><a href="<?php echo base_url('courses'); ?>">Courses<i class="fa fa-angle-down"></i></a>
<ul class="dropdown_menu">
<?php if(isset($courses) && !empty($courses)) { ?>
<?php foreach ($courses as $key => $value) {?>
<li><a href=""><?php echo $value['course_name']; ?></a>
<?php } ?>
<?php } ?>
<?php if(isset($childcourses) && !empty($childcourses)) { ?>
<?php foreach ($childcourses as $key => $value) { ?>
<li><a href="<?php echo base_url('course/details/'.$value['seo_url']); ?>"><?php echo $value['course_name']; ?></a></li>
<?php } ?>
<?php } ?>
答案 0 :(得分:1)
有太多可用于模板布局的助手...或者只是...在您所有的控制器中添加另一种方法...
function template($page_name,$data,$headrdata,$footerdata)
{
$this->load->view('header',$headrdata);
$this->load->view($page_name,$data);
$this->load->view('footer',$footerdata);
}
并加载
之类的视图if(!isset($courses['code'])){
$data['courses'] = $courses;
}
$this->template('view_name',$data,$headrdata,footerdata);