让这个模块跑起来,太费劲了,多半原因是自己太粗心,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功能模块探索开发(四)让这个模块跑起来的更多相关文章

  1. corethink功能模块探索开发(十四)后台编辑按钮

    效果图: 1.添加下图55&58行代码 2.实现edit方法 位于Equip/Admin/DeviceRepaireAdmin.class.php中 public function edit( ...

  2. corethink功能模块探索开发(一)根据已有模块推测目录结构

    corethink是opencmf的一个开源版本,如果自己要进行二次开发,开发模块等,需要在官方开一个中级会员(50大洋吧),官网的一个“一键生成demo”就能给你最基础的目录结构,从而可以在此基础上 ...

  3. corethink功能模块探索开发(十七)opencmf.php 配置文件

    图样: opencmf.php存在于每个模块的根目录,是模块配置文件. 能进行持久化配置参数保存,一开始我以为是写文件或者做缓存,后来在数据库中发现admin_module表,存储了每个模块的配置参数 ...

  4. corethink功能模块探索开发(三)让这个模块可见

    感觉corethink把thinkphp的思想复用到淋漓尽致. 1.把opencmf.php文件配置好了后台该模块的菜单就能在安装后自动读取(分析好父子关系,否则页面死循环,apache资源占用率10 ...

  5. corethink功能模块探索开发(二)让这个模块可安装

    要想让这个模块可安装,只需要在opcmf.php文件中写一些配置数据就行 随便写点 Equip/opencmf.php <?php // 模块信息配置 return array( // 模块信息 ...

  6. corethink功能模块探索开发(六)让这个模块在前台显示

    效果图:(注意右上角) 实现模块的前台显示只需要在模块目录中的Controller目录建立IndexController.class.php,实现index方法.继承HomeController.就能 ...

  7. corethink功能模块探索开发(五)开启这个模块的配置

    上图: 主要就是两点. 1.在opencmf.php中填写好配置页面的按钮还是文本域 Equip/opencmf.php只需要注意主要的配置数组的内容 <?php // 模块信息配置 retur ...

  8. corethink功能模块探索开发(十八)前台页面插入jit前端数据可视化库

    效果图: 1.静态文件放入View目录中 在View目录下新建Public目录,在Public目录下新建js.css目录. 把jit的资源放入对应目录中 2.在html中引入jit Applicati ...

  9. corethink功能模块探索开发(十六)后台搜索功能

    效果图: 代码很简单,就是添加搜索框,搜索字段,在初始化页面查询的时候添加查询条件. 1.添加搜索框 添加到删除按钮后边. ->setSearch('请输入设备名称/MAC/宿舍号', U('i ...

随机推荐

  1. unity, 由于project settings中time scale变成0导致动画不播放

    在Mac和iOS间多次switch platform之后,忽然发现开始scene的动画不播了.进入游戏后再切回来动画恢复正常. 检查了scene的逻辑,发现没有任何问题.删除了Temp和Library ...

  2. java 图片缩放

    使用java自带的图片处理api,也可以使用(GraphicsMagick + im4j) import java.awt.Image; import java.awt.image.BufferedI ...

  3. smali语句类的静态成员查看,invoke-virtual、invoke-direct、invoke-super解释

    smali举例: .class public Lcom/dataviz/dxtg/common/android/DocsToGoApp; .super Landroid/app/Application ...

  4. Ionic学习笔记5_动态组件指令

    1. 模态对话框 : $ionicModal 模态对话框常用来供用户进行选择或编辑,在模态对话框关闭之前,其他 的用户交互行为被阻止 .操作模态对象返回结果,模态对象的方法提前定制. 三个步骤 1.声 ...

  5. Timer和ScheduledExecutorService区别

    Timer特点:   1.一个Timer只占用一个线程 timer有多个timerTask的情况,如果一个timerTask有执行时间过长,其它的timerTask就会被耽误 2.如果TimerTas ...

  6. 转载-好用的linux软件合集

    音频 Airtime – Airtime 是一款用于调度和远程站点管理的开放广播软件  Ardour – 在 Linux 上录音,编辑,和混音  Audacious – 开源音频播放器,按你想要的方式 ...

  7. scp命令的用法

    用法: scp 命令 scp 能够在 2个 linux 主机间拷贝文件: 命令基本格式: scp [可选參数] file_source file_target ====== 从 本地 拷贝到 远程 拷 ...

  8. 快速上手UIView动画

    UIView动画有两种使用方法 UIView [begin commit]模式 //动画开始标记 [UIView beginAnimations:@"changeframe" co ...

  9. libpcap丢包原理分析及Fedora 9 内核2.6.25.14下安装PF-RING的详细过程

    看到网上有人讲解fedora 9下安装PF-RING的过程,都是几年前的了,比较老了,我安装PF-RING就是为了使用libpcap库,libpcap的原理是通过socket 将数据包从网卡 捕获数据 ...

  10. 搭建RocketMQ踩的坑-内存不足

    环境是vmvare+ubuntu 1.http://rocketmq.apache.org/docs/quick-start/ 按照官网来启动mqnamesrv和mqbroker报错 错误如下 The ...