zoukankan      html  css  js  c++  java
  • 桂电在线-php-提取菜单到配置文件

    1. 新建存储菜单的配置文件 menus.php,并配置菜单
      <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
      /*菜单配置*/
      $config['menus'] = array();
      // 校园生活
      $config['menus']['life'] = array('name' => '学校生活', 
          'submenu' => array(
              'news/official_news' => array('name' => '官网公告'),
              'life/game' => array('name' => '校园活动', 'link' => 'life/game'),
              'life/flea' => array('name' => '跳蚤专场', 'link' => 'life/flea'),
              'life/calendar' => array('name' => '跳蚤专场', 'link' => 'life/calendar'),
              'life/map' => array('name' => '校园地图', 'link' => 'life/map'),
              'life/scenery' => array('name' => '校园美景', 'link' => 'life/scenery'),
              'life/schoolcard_lose' => array('name' => '一卡通丢失', 'link' => 'life/schoolcard_lose'),
              'life/schoolcard_found' => array('name' => '一卡通招领', 'link' => 'life/schoolcard_found'),
          )
      );
      // 校园学习
      $config['menus']['study'] = array('name' => '学校生活', 
          'submenu' => array(
              'study/translate' => array('name' => '翻译一下', 'link' => 'study/translate'),
              'study/source' => array('name' => '分享资源', 'link' => 'study/source'),
              'study/method' => array('name' => '小谈学习', 'link' => 'study/method'),
              'study/cet' => array('name' => '查询四六级成绩', 'link' => 'study/cet'),
          )
      );
      // 校园名片
      $config['menus']['card'] = array('name' => '校园名片', 'link' => 'card/index'
      );
    2. 新建菜单类,Menu.php,并创建获取菜单配置数据的方法(貌似有点多余)/优化方法,修改为读取配置类,封装获取配置文件
      <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
      class Menu{
      
          /**
           * 获取菜单配置
           */
          public function get_menus($param) {
              $CI =& get_instance();
              $CI->config->load('menus');
              $menus = $CI->config->item('menus');
              return $menus;
          }
      }
    3. 控制器index.php 调用菜单类,获取菜单配置数据,赋值模板
      /**
           * 首页
           */
          function index() {
              //引入menu类,获取菜单配置
              $this->load->library('menu');
              $data['menus'] = $this->menu->get_menus();
              $this->load->view('index.html', $data);
          }
    4. 模板循环输出菜单
      <ul class="nav navbar-nav navbar-left">
                          <li class="active">
                              <a href="/"> <i class="glyphicon glyphicon-home"></i>
                              </a>
                          </li>
                          <?php foreach ($menus as $menu): ?>
      
                              <?php if ( ! isset($menu['submenu']) ): ?>
                                  <li>
                                      <a href="<?=site_url($menu['link'])?>"><?=$menu['name']?></a>
                                  </li>
                              <?php else: ?>
                                  <li>
                                      <a href="" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
                                          <?=$menu['name']?>
                                          <span class="caret"></span>
                                      </a>
                                      <ul class="dropdown-menu" role="menu">
                                          <?php foreach ($menu['submenu'] as $link => $submenu): ?>
                                          <li>
                                              <a href="<?=site_url($submenu['link'])?>"><?=$submenu['name']?></a>
                                          </li>                                
                                          <?php endforeach ?>
                                      </ul>
                                  </li>                            
                              <?php endif ?>
      
                          <?php endforeach ?>
                      </ul>

    主页菜单部分没完成,困了。明天再配置

  • 相关阅读:
    SpringBoot之集成slf4j日志框架
    Maven项目优势
    Idea操作技巧
    Nginx服务器之负载均衡策略(6种)
    Git操作规范
    Mybatis之Tk
    MyEclipse取消验证Js的两种方法
    文件异步上传,多文件上传插件uploadify
    EasyMock的使用
    jquery 中post 、get的同步问题,从外部获取返回数据
  • 原文地址:https://www.cnblogs.com/jdhu/p/4192766.html
Copyright © 2011-2022 走看看