桂电在线-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>

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

时间: 2025-01-31 09:21:38

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

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

继续昨晚没完成的主菜单模板: <!-- 菜单块 --> <div class="on-light" id="menus"> <?php foreach ($menus as $menu_key => $menu): ?> <?php // 排除校园名片 if ($menu_key == 'card') break; ?> <section class="container" id=&qu

桂电在线-转变成bootstrap版

由于angularjs的不熟悉,而且SEO需要学习更多东西,于是先采用bootstrap版本,毕竟工作上也需要使用bootstrap,然后参照视频教程学习. bootstrap 基本模板 <!DOCTYPE html> <html lang="zh-cn"> <head> <!-- Meta, title, CSS, favicons, etc. --> <meta charset="utf-8"> <

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

下载bootstrap框架https://github.com/twbs/bootstrap 或者 http://getbootstrap.com/ 拷贝模板 修改基本模板 语言zh-cn,标题,描述 修改css,js,网站logo路径 修改后 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <meta http-equiv=&q

微信公众平台开发-桂电在线1

主要功能 桂电在线目的是包含学校内所有信息展示,创造一个跟学生相关信息的平台.主要模块由校园消息,生活,学习,个人名片四大模块 目前系统环境是: 硬件:SAE,微信公众平台 软件:php mysql apache 程序框架:SAE版的CI框架,ama 主页入口网址:http://jdhu.sinaapp.com/ 目前正在开发当中..

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

折腾angularjs的感悟 几天折腾,总的来说看了很多博客,要么不是最新的技术文档,要么写得不够完整,因为别人是基于他们的理解写的技术博客代码不一定会贴完整,所以一旦你用的是最新的想要看完整的实例就只能去官网查阅文档,现在通过实现下面的两个功能才真正了解什么是前端的MVVM框架. 另外,总结下我理解中的MVVM框架:后台php是MVC框架,一直做法是php处理数据,然后把数据渲染到模板,然后后台返回html页面给浏览器, 现在前端mvvm(model-view-viewmodel)就是:mod

网餐一家 餐厅网站建设、餐厅网站注册建站、餐厅网站、在线订餐、菜单周报菜谱[餐厅自助建设餐厅网站系统]

[网餐一家]餐厅建设餐厅网站平台简介与技术分析 1.网餐一家面向全国餐厅自助建设餐厅网站平台: 网餐一家[www.canyijia.com]免费餐厅网站.注册餐厅网站,注册账号选择餐厅网站模板即可轻松创建适合自己餐厅的绝佳网站. 网餐一家:面向全国餐厅注册自助建设餐厅网站的网络平台,轻松创建餐厅网站 2.网餐一家平台技术简介: 这里共享了网餐一家的链接,感觉对于餐厅建设网站是一款非常实用有意义的平台.对于.net学习者来说是不错的项目学习案例, 下面给大家介绍一下这个平台技术方面的东西,希望对从

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

一.官方出校器(无界面) 由于学校官方最新的linux版出校器无效,我们只能使用老版本的出校器了. 但因为老版本的出校器是32位的,而现在主流使用的是64位系统,因此我们得安装32位库. 在ubuntu系统中,安装32位系统命令为: sudo apt-get install libc6:i386 然后下载32位出校器 wget http://files.cnblogs.com/files/ji-yun/ipclient.tar.gz tar -zxvf ipclient.tar.gz 设置访问权

桂电第一次程序设计 C STL 排序

Problem 1197 # 共享厕所 ediszhao添加于2017-12-22 15:00:56 时间限制 : 1000MS 内存限制 : 65536KB ×提示 : 你已解决此题目. 问题描述 马路边有一个共享厕所,厕所里一共装有m 个马桶可供人们拉尿,每个人每秒钟的拉尿量相等,均为1. 现在有n 个人准备拉尿,他们的初始拉尿顺序已经确定.将这些人按拉尿顺序从1 到n编号,i 号同学的拉尿量为ai.拉尿开始时,1 到m 号人各占一个马桶,并同时开始拉尿.当其中某个人j 完成其拉尿量要求aj

webapp框架&mdash;学习AngularUI2(demo改造)

目的:把AngularUI的模板应用到"桂电在线"上 步骤如下: 按功能表修改demo界面 学习angularUI如何加载全部页面,为了设置自定义加载模板,在demo/demo.js中找到这一段 //当#为/,/scroll等等,请求index.html中<base href=""> + home.html的页面 app.config(function($routeProvider) { $routeProvider.when('/', {templat