【问题标题】:Dynamic header menus common for all pages in codeignitercodeigniter 中所有页面通用的动态标题菜单
【发布时间】:2019-06-03 00:19:09
【问题描述】:

我想制作一个动态菜单,这个动态菜单对我网站的所有页面都是通用的。这件事我在 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 } ?>

【问题讨论】:

    标签: php codeigniter codeigniter-3 codeigniter-2


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-18
      • 2016-07-21
      • 2019-09-06
      • 2010-10-12
      相关资源
      最近更新 更多