corethink功能模块探索开发(三)让这个模块可见
感觉corethink把thinkphp的思想复用到淋漓尽致。
1.把opencmf.php文件配置好了后台该模块的菜单就能在安装后自动读取(分析好父子关系,否则页面死循环,apache资源占用率100%)
Equip/opencmf.php
<?php
// 模块信息配置
return array(
// 模块信息
'info' => array(
'name' => 'Equip',
'title' => '设备',
'icon' => 'fa fa-newspaper-o',
'icon_color' => '#9933FF',
'description' => '设备模块',
'developer' => 'pangPython',
'website' => 'http://www.opencmf.cn',
'version' => '1.0.0',
'dependences' => array(
'Admin' => '1.1.0',
),
), // 用户中心导航
'user_nav' => array( ), // 模块配置
'config' => array( ), // 后台菜单及权限节点配置
'admin_menu' => array( '1' => array(
'id' => '1',
'uid' => '0',
'title' => '设备',
'icon' => 'fa fa-newspaper-o',
), '2' => array(
'pid' => '1',
'title' => '设备管理',
'icon' => 'fa fa-folder-open-o',
), '3' => array(
'pid' => '2',
'title' => '设备配置',
'icon' => 'fa fa-wrench',
), '4' => array(
'pid' => '2',
'title' => '设备类型',
'icon' => 'fa fa-th-large',
), ), );
2.让页面自动构建表格
在Equip目录下的Admin目录下建立IndexAdmin.class.php
这个文件继承AdminController,AdminController实现了登录权限检测,自动读取后台模块左侧导航栏,而AdminController继承了CommonController,CommonController实现了模板显示功能,CommonController继承了Controller
Equip/Admin/IndexAdmin.class.php
<?php
namespace Equip\Admin;
use Admin\Controller\AdminController;
use Common\Util\Think\Page;
class IndexAdmin extends AdminController{
public function index(){
//使用Builder快速建立列表页面
$builder = new \Common\Builder\ListBuilder();
$builder->setMetaTitle('设备管理') //设置页面标题
->addTableColumn('id', 'ID')
->addTableColumn('create_time', '设备名称', 'time')
->addTableColumn('sort', '排序', 'text')
->addTableColumn('status', '状态', 'status')
->addTableColumn('right_button', '操作', 'btn')
->setExtraHtml('<div class="alert alert-success">请点击左侧的列表树进行操作</div>')
->display();
}
}
此时再安装模块,就能正常显示页面了
效果图logo已打码

corethink功能模块探索开发(三)让这个模块可见的更多相关文章
- corethink功能模块探索开发(一)根据已有模块推测目录结构
corethink是opencmf的一个开源版本,如果自己要进行二次开发,开发模块等,需要在官方开一个中级会员(50大洋吧),官网的一个“一键生成demo”就能给你最基础的目录结构,从而可以在此基础上 ...
- corethink功能模块探索开发(十七)opencmf.php 配置文件
图样: opencmf.php存在于每个模块的根目录,是模块配置文件. 能进行持久化配置参数保存,一开始我以为是写文件或者做缓存,后来在数据库中发现admin_module表,存储了每个模块的配置参数 ...
- corethink功能模块探索开发(二)让这个模块可安装
要想让这个模块可安装,只需要在opcmf.php文件中写一些配置数据就行 随便写点 Equip/opencmf.php <?php // 模块信息配置 return array( // 模块信息 ...
- corethink功能模块探索开发(六)让这个模块在前台显示
效果图:(注意右上角) 实现模块的前台显示只需要在模块目录中的Controller目录建立IndexController.class.php,实现index方法.继承HomeController.就能 ...
- corethink功能模块探索开发(五)开启这个模块的配置
上图: 主要就是两点. 1.在opencmf.php中填写好配置页面的按钮还是文本域 Equip/opencmf.php只需要注意主要的配置数组的内容 <?php // 模块信息配置 retur ...
- corethink功能模块探索开发(四)让这个模块跑起来
让这个模块跑起来,太费劲了,多半原因是自己太粗心,opencmf.php中“uid”写成了“pid”,de了好几天的bug也没有搞出来,又加上最近发生了些事(brokenhearted)... 上报错 ...
- corethink功能模块探索开发(十八)前台页面插入jit前端数据可视化库
效果图: 1.静态文件放入View目录中 在View目录下新建Public目录,在Public目录下新建js.css目录. 把jit的资源放入对应目录中 2.在html中引入jit Applicati ...
- corethink功能模块探索开发(十六)后台搜索功能
效果图: 代码很简单,就是添加搜索框,搜索字段,在初始化页面查询的时候添加查询条件. 1.添加搜索框 添加到删除按钮后边. ->setSearch('请输入设备名称/MAC/宿舍号', U('i ...
- corethink功能模块探索开发(十五)后台新增按钮
效果图: 1.首先添加数据列表上的新增按钮,让按钮显示出来 ->addTopButton('addnew') 2.让这个按钮行动起来,实现add方法 public function add(){ ...
随机推荐
- centos下nginx启动脚本和chkconfig管理
在安装完nginx后,重新启动需要“kill -HUP nginx进程编号”来进行重新加载,显然十分不方便.如果能像apache一样,直接通过脚本进行管理就方便多了. nginx官方早就想好了,也提供 ...
- Redis命令学习-string类型操作
APPEND key value 假设key已经存在,而且为字符串.那么这个命令会把value追加到原来值的末尾.假设key不存在.首先创建一个空字符串,再运行追加操作. 返回值:返回 ...
- spring 第一篇(1-2):管理你的beans
在基于spring的应用中,你的应用对象存活在spring container(容器中).容器创建,将它们装配到一起.还有配置和管理它们完整的生命周期(从生到死) 下一章节,你会看到如何配置Sprin ...
- Java并发编程(三)概念介绍
在构建稳健的并发程序时,必须正确使用线程和锁.但是这终归只是一些机制.要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的(Shared)和可变的(Mutable)状态的访问. 对 ...
- 设计模式中类的关系之组合关系(Composition)
组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合:它同样体现整体与部分间的关系,但此时整体与部分是不可分的,它们具有统一的生存期,整体的生命周期结 ...
- sha1加密算法
public static void main(String[] args) throws UnsupportedEncodingException { /* * 获取jsapi_ticket * * ...
- php对gzip文件或者字符串解压实例参考
要采集一个网站,目标站采用了gzip压缩传输网页,本来应该只要发送一个http头 Accept-Encoding: identity或者干脆不发送这个头等,就可以使目标站返回没有经过gzip压缩的页面 ...
- markdown软件和网站
网站:http://markdown.xiaoshujiang.com/ 软件: Moeditor:https://moeditor.org/ Remarkable:https://remarkabl ...
- UVA 10319 - Manhattan(2-SET)
UVA 10319 - Manhattan 题目链接 题意:一个城市,有南北和东西街道.每种街道都是单行道,如今给定几个起点和终点.要求起点和终点必须最多转一次弯能够到达,问能否够满足全部的起点终点 ...
- 第二十二篇:C++中的多态机制
前言 封装性,继承性,多态性是面向对象语言的三大特性.其中封装,继承好理解,而多态的概念让许多初学者感到困惑.本文将讲述C++中多态的概念以及多态的实现机制. 什么是多态? 多态就是多种形态,就是许多 ...