桂电在线-php-提取菜单到配置文件
- 新建存储菜单的配置文件 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'
); - 新建菜单类,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;
}
} - 控制器index.php 调用菜单类,获取菜单配置数据,赋值模板
/**
* 首页
*/
function index() {
//引入menu类,获取菜单配置
$this->load->library('menu');
$data['menus'] = $this->menu->get_menus();
$this->load->view('index.html', $data);
} - 模板循环输出菜单
<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-提取菜单到配置文件的更多相关文章
- 桂电在线-php-提取菜单到配置文件2
继续昨晚没完成的主菜单模板: <!-- 菜单块 --> <div class="on-light" id="menus"> <?p ...
- 桂电在线-转变成bootstrap版3(记录学习bootstrap)
继续上文 正文菜单 html: <!-- 菜单块 --> <div class="on-light" id="menus"> <s ...
- 桂电在线-转变成bootstrap版2(记录学习bootstrap)
下载bootstrap框架https://github.com/twbs/bootstrap 或者 http://getbootstrap.com/ 拷贝模板 修改基本模板 语言zh-cn,标题,描述 ...
- 桂电在线-转变成bootstrap版
由于angularjs的不熟悉,而且SEO需要学习更多东西,于是先采用bootstrap版本,毕竟工作上也需要使用bootstrap,然后参照视频教程学习. bootstrap 基本模板 <!D ...
- 桂电在线_微信公众平台开发之-运用angularjs显示学校公告新闻列表和详情页面
折腾angularjs的感悟 几天折腾,总的来说看了很多博客,要么不是最新的技术文档,要么写得不够完整,因为别人是基于他们的理解写的技术博客代码不一定会贴完整,所以一旦你用的是最新的想要看完整的实例就 ...
- Ubuntu Linux 使用桂电校园网 上网
2016年9月1日 星期四 桂电校园网今天升级新的出校器,旧的出校器已经不能使用,所以本篇博客已经过期,下面的方法已经不能让Ubuntu使用桂电校园网上外网了.详细的原因,请到这个网站查看:校园网计费 ...
- GRUB2配置详解:默认启动项,超时时间,隐藏引导菜单,配置文件详解,图形化配置
配置文件详解: /etc/default/grub # 设定默认启动项,推荐使用数字 GRUB_DEFAULT=0 # 注释掉下面这行将会显示引导菜单 #GRUB_HIDDEN_TIMEOUT=0 # ...
- 桂电在linux、Mac OS环境下使用出校器(支持2.14)
这是guetsec学长在三院科协学长所抓包逆向分析1.81版出校器的基础上,用python写的一款为Mac和linux环境开发的出校器. 最后我做了略微修改,支持暂时最新版本2.14.下面有直接从源码 ...
- 桂电在linux环境下使用出校器
一.官方出校器(无界面) 由于学校官方最新的linux版出校器无效,我们只能使用老版本的出校器了. 但因为老版本的出校器是32位的,而现在主流使用的是64位系统,因此我们得安装32位库. 在ubunt ...
随机推荐
- 【转】谁说Vim不是IDE?(二)
谁说Vim不是IDE?(二) 环境配置 “如果你认为Vim只是一个文本编辑器,你就输了”——来自Vim老鸟 Vim以简洁的方式提供了丰富的配置功能,主要配置体系由一个文件和文件夹组成.在一台安装了 ...
- java数据结构-非线性结构之树
一.树状图 树状图是一种数据结构,它是由n(n>=1)个有限节点组成的具有层次关系的集合.因其结构看起来想个倒挂的树,即根朝上,叶子在下,故被称为"树". 特点: 1. 每个 ...
- iOS OC开发代码规范
1.变量.类名.函数名 使用驼峰命名法 2.尽量使用完整的单词命名,尽量不采用 缩写单词 3.类名使用大写字母打头,前缀统一加上HH 例如:HHHomePageController 4.类的成员变量使 ...
- 使用json-lib进行Java和JSON之间的转换【转载】
1. json-lib是一个java类库,提供将Java对象,包括beans, maps, collections, java arrays and XML等转换成JSON,或者反向转换的功能. 2. ...
- 在Eclipse中怎样公布创建的JavaWebproject
博客<在Eclipse中怎样创建JavaWebproject>中图文并茂的说明了Eclipse中创建JavaWebproject的方法:博客<怎样为Eclipse开发工具中创建的Ja ...
- FastDFS 的部署、配置与测试的
部署篇:http://soartju.iteye.com/blog/803477 配置篇:http://soartju.iteye.com/blog/803524 测试篇:http://soartju ...
- 基于事件的 NIO 多线程服务器--转载
JDK1.4 的 NIO 有效解决了原有流式 IO 存在的线程开销的问题,在 NIO 中使用多线程,主要目的已不是为了应对每个客户端请求而分配独立的服务线程,而是通过多线程充分使用用多个 CPU 的处 ...
- 也许是关于C#的一些常见误区
写这点东西主要是看到知乎上有人在讨论相关的问题,但是有不少人都在说一些不严谨,甚至是完全错误 但是流传甚广的东西,甚至是一些大神都在说,以下根据我的回答总结. 一个很常见又很低级的误区是:认为引 ...
- java 中能否使用 动态加载的类(Class.forName) 来做类型转换?
今天同事提出了一个问题: 将对象a 转化为类型b,b 的classpath 是在配置文件中配置的,需要在运行中使用Class.forName 动态load进来,因为之前从来没有想过类似的问题,所以懵掉 ...
- android开发之Parcelable使用详解
想要在两个activity之间传递对象,那么这个对象必须序列化,android中序列化一个对象有两种方式,一种是实现Serializable接口,这个非常简单,只需要声明一下就可以了,不痛不痒.但是a ...