corethink功能模块探索开发(四)让这个模块跑起来
让这个模块跑起来,太费劲了,多半原因是自己太粗心,opencmf.php中“uid”写成了“pid”,de了好几天的bug也没有搞出来,又加上最近发生了些事(brokenhearted)。。。
上报错图:


显示147行错误。而且打开那个页面apache占用率能到了100%+
上正事,让这个模块跑起来:
1.编辑Equip/opencmf.php给后台列表添加url
<?php
// 模块信息配置
return array(
// 模块信息
'info' => array(
'name' => 'Equip',
'title' => '设备',
'icon' => 'fa fa-newspaper-o',
'icon_color' => '#9933FF',
'description' => 'BZU网络设备模块',
'developer' => 'pangPython',
'website' => 'http://www.bzu.edu.cn',
'version' => '1.0.0',
'dependences' => array(
'Admin' => '1.1.0',
),
), // 用户中心导航
'user_nav' => array( ), // 模块配置
'config' => array( 'show_equip' => array(
'title' => '前台设备总体情况',
'type' => 'radio',
'options' => array(
'1' => '显示',
'0' => '关闭',
),
'value' => '1',
), 'show_repaire' => array(
'title' => '是否开启前台报修',
'type' => 'radio',
'options' => array(
'1' => '开启',
'0' => '关闭',
),
'value' => '1',
), 'show_repaire_phone_num' => array(
'title' => '报修手机号',
'type' =>'textarea',
'value' => '',
), ), // 后台菜单及权限节点配置
'admin_menu' => array( '1' => array(
'id' => '1',
'pid' => '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',
'url' => 'Equip/Test/index',
), '4' => array(
'pid' => '2',
'title' => '设备管理',
'icon' => 'fa fa-dashboard',
'url' => 'Equip/DeviceManage/index',
), '5' => array(
'pid' => '4',
'title' => 'add',
'url' => 'Equip/DeviceManage/add',
), '6' => array(
'pid' => '2',
'title' => '设备类型',
'icon' => 'fa fa-th-large',
'url' => 'Equip/DeviceManage/index',
), '7' => array(
'pid' => '2',
'title' => '设备报修',
'icon' => 'fa fa-user',
), '8' => array(
'pid' => '2',
'title' => '设备概况',
'icon' => 'fa fa-area-chart',
), '9' => array(
'pid' => '2',
'title' => '拓展',
'icon' => 'fa fa-cogs',
), '10' => array(
'pid' => '2',
'title' => '关于模块',
'icon' => 'fa fa-commenting-o',
), ), );
2.建立页面的控制器
新建DeviceManageAdmin.class.php
Equip/Admin/DeviceManageAdmin.class.php
<?php
/**
* Created by PhpStorm.
* User: root
* Date: 16-3-23
* Time: 下午10:10
*/
namespace Equip\Admin;
use Admin\Controller\AdminController;
use Common\Util\Think\Page;
class DeviceManageAdmin 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(); } public function add(){ } }
效果图:

完成了。
其实思路也不难:在配置文件中添加按钮的跳转链接,创建控制器,这里的控制器事opencmf重写的命名为abcdAdmin.class.php,Model可以不写,试图可以使用opencmf的Builder创建。
corethink功能模块探索开发(四)让这个模块跑起来的更多相关文章
- corethink功能模块探索开发(十四)后台编辑按钮
效果图: 1.添加下图55&58行代码 2.实现edit方法 位于Equip/Admin/DeviceRepaireAdmin.class.php中 public function edit( ...
- corethink功能模块探索开发(一)根据已有模块推测目录结构
corethink是opencmf的一个开源版本,如果自己要进行二次开发,开发模块等,需要在官方开一个中级会员(50大洋吧),官网的一个“一键生成demo”就能给你最基础的目录结构,从而可以在此基础上 ...
- corethink功能模块探索开发(十七)opencmf.php 配置文件
图样: opencmf.php存在于每个模块的根目录,是模块配置文件. 能进行持久化配置参数保存,一开始我以为是写文件或者做缓存,后来在数据库中发现admin_module表,存储了每个模块的配置参数 ...
- corethink功能模块探索开发(三)让这个模块可见
感觉corethink把thinkphp的思想复用到淋漓尽致. 1.把opencmf.php文件配置好了后台该模块的菜单就能在安装后自动读取(分析好父子关系,否则页面死循环,apache资源占用率10 ...
- 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功能模块探索开发(十八)前台页面插入jit前端数据可视化库
效果图: 1.静态文件放入View目录中 在View目录下新建Public目录,在Public目录下新建js.css目录. 把jit的资源放入对应目录中 2.在html中引入jit Applicati ...
- corethink功能模块探索开发(十六)后台搜索功能
效果图: 代码很简单,就是添加搜索框,搜索字段,在初始化页面查询的时候添加查询条件. 1.添加搜索框 添加到删除按钮后边. ->setSearch('请输入设备名称/MAC/宿舍号', U('i ...
随机推荐
- sqlserver利用链接服务器查询或同步本地数据库和远程数据库
这个实际上是SQLserver的分布式查询:如果一个项目需要二至多台服务器,而我们又必须从几台服务器中将数据取出来,这就必须用分布式查询!在这里有两个概念:本地数据源.远程数据源!本地数据源指的是单个 ...
- Atitit. visual studio vs2003 vs2005 vs2008 VS2010 vs2012 vs2015新特性 新功能.doc
Atitit. visual studio vs2003 vs2005 vs2008 VS2010 vs2012 vs2015新特性 新功能.doc 1.1. Visual Studio2 1.2. ...
- Java配置文件读取和路径设置
记录几种读取配置文件的方法,以及配置文件的放置路径. 1.使用PropertiesLoaderUtils工具类(springframework包提供) 优点:实时加载配置文件,修改后立即生效,不必重启 ...
- 喜闻乐见的const int *p、int* const p、const int* const p
不废话直接代码示例: void f(const int *p) { ; *p = ; // error p = &b; // fine } void f(int* const p) { ; * ...
- 关于UITableView界面刷新
在TableView中的数据发生改变的时候,往往会发现UITableView中的数据没有更新,通常需要滚动后才会更新. 这个是因为他的重绘机制的问题. 一般情况下可以用下面这个方法解决: 在viewW ...
- FreeBSD安装MySQL5.7.17
[root@tuhooo /usr/ports/databases/mysql57-server]# make install===> Installing for mysql57-serve ...
- java 服务接口API限流 Rate Limit
一.场景描述 很多做服务接口的人或多或少的遇到这样的场景,由于业务应用系统的负载能力有限,为了防止非预期的请求对系统压力过大而拖垮业务应用系统. 也就是面对大流量时,如何进行流量控制? 服务接口的流量 ...
- jsp中的http status 500错误问题怎么解决
HTTP 500 - 内部服务器错误如果有其他错误提示,需根据其提示进行修改.如果没有其他错误提示,则可以重启tomcat服务器解决.HTTP错误代码介绍: HTTP 400 - 请求无效HTTP 4 ...
- jQuery 尺寸 方法
jQuery 提供多个处理尺寸的重要方法: width() height() innerWidth() innerHeight() outerWidth() outerHeight()
- fabric 自动化部署
fabric 项目发布和运维的工作相当机械,频率还蛮高,导致时间浪费在敲大量重复的命令上. 修复bug什么的,测试,提交版本库(2分钟),ssh到测试环境pull部署(2分钟),rsync到线上机器A ...