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>

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

桂电在线-php-提取菜单到配置文件的更多相关文章

  1. 桂电在线-php-提取菜单到配置文件2

    继续昨晚没完成的主菜单模板: <!-- 菜单块 --> <div class="on-light" id="menus"> <?p ...

  2. 桂电在线-转变成bootstrap版3(记录学习bootstrap)

    继续上文 正文菜单 html: <!-- 菜单块 --> <div class="on-light" id="menus"> <s ...

  3. 桂电在线-转变成bootstrap版2(记录学习bootstrap)

    下载bootstrap框架https://github.com/twbs/bootstrap 或者 http://getbootstrap.com/ 拷贝模板 修改基本模板 语言zh-cn,标题,描述 ...

  4. 桂电在线-转变成bootstrap版

    由于angularjs的不熟悉,而且SEO需要学习更多东西,于是先采用bootstrap版本,毕竟工作上也需要使用bootstrap,然后参照视频教程学习. bootstrap 基本模板 <!D ...

  5. 桂电在线_微信公众平台开发之-运用angularjs显示学校公告新闻列表和详情页面

    折腾angularjs的感悟 几天折腾,总的来说看了很多博客,要么不是最新的技术文档,要么写得不够完整,因为别人是基于他们的理解写的技术博客代码不一定会贴完整,所以一旦你用的是最新的想要看完整的实例就 ...

  6. Ubuntu Linux 使用桂电校园网 上网

    2016年9月1日 星期四 桂电校园网今天升级新的出校器,旧的出校器已经不能使用,所以本篇博客已经过期,下面的方法已经不能让Ubuntu使用桂电校园网上外网了.详细的原因,请到这个网站查看:校园网计费 ...

  7. GRUB2配置详解:默认启动项,超时时间,隐藏引导菜单,配置文件详解,图形化配置

    配置文件详解: /etc/default/grub # 设定默认启动项,推荐使用数字 GRUB_DEFAULT=0 # 注释掉下面这行将会显示引导菜单 #GRUB_HIDDEN_TIMEOUT=0 # ...

  8. 桂电在linux、Mac OS环境下使用出校器(支持2.14)

    这是guetsec学长在三院科协学长所抓包逆向分析1.81版出校器的基础上,用python写的一款为Mac和linux环境开发的出校器. 最后我做了略微修改,支持暂时最新版本2.14.下面有直接从源码 ...

  9. 桂电在linux环境下使用出校器

    一.官方出校器(无界面) 由于学校官方最新的linux版出校器无效,我们只能使用老版本的出校器了. 但因为老版本的出校器是32位的,而现在主流使用的是64位系统,因此我们得安装32位库. 在ubunt ...

随机推荐

  1. 长沙Uber优步司机奖励政策(2月1日~2月7日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  2. gcc 的visibility 使用

    gcc 的visibility 使用(zz) -fvisibility=default|internal|hidden|protectedgcc的visibility是说,如果编译的时候用了这个属性, ...

  3. python的import与from...import的不同之处

    在python用import或者from...import来导入相应的模块.模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中 ...

  4. NOIP-2003 加分二叉树

    题目描述 设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…,n为节点编号.每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都 ...

  5. STL源码剖析之list的sort函数实现

    SGI  STL的list的函数的实现源码大致如下: //list 不能使用sort函数,因为list的迭代器是bidirectional_iterator, 而sort //sort函数要求rand ...

  6. 一个分门别列介绍JavaScript各种常用工具的脑图

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:一个分门别列介绍JavaScript各种常用工具的脑图.

  7. Android 获取WIFI MAC地址的方法

    1. 经常用法,调用Android的API:WifiManager <uses-permission android:name="android.permission.ACCESS_W ...

  8. hadoop错误INFO util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

    报如下错误: 解决方法: 1.增加调试信息 在HADOOP_HOME/etc/hadoop/hadoop-env.sh文件中添加如下信息 2.再执行一次操作,看看报什么错误 上面信息显示,需要2.14 ...

  9. 汇编语言-[BX]和loop指令

    汇编语言-[BX]和loop指令 [BX]指令介绍 mov ax,[bx] 功能: bx为偏移地址,段地址默认为ds.因此,上面指令作用就是将ax中的数据送入内存ds:bx处,即:((ds)*16 + ...

  10. android开发之Toast的多种应用

    Toast最基本的功能就是弹出一个弱提示,这个很简单我就不说了,说说Toast一些其他的作用. 来公司的时候,公司产品的1.0版本已经发布出去了,但是1.0是一个必须联网才能使用的产品,在2.0中想让 ...