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 ...
随机推荐
- Atitit.js this错误指向window的解决方案
Atitit.js this错误指向window的解决方案 1.1. 出现地点and解决之道1 1.2. call,apply和bind这三个方法2 1.2.1. Function.prototype ...
- [容器]gcr.io镜像下载
下载gcr.io的镜像hosts文件 把下面两行加入到/etc/hosts中. 更多在这里http://wst.so/files/hosts 61.91.161.217 gcr.io 61.91.1 ...
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
以前拼接的写法 set @sql=' select * from table where 1=1 ' if (@addDate is not null) set @sql = @sql+' and a ...
- python模块学习之re
正则表达式本质就是表示某种规则的一串字符. 匹配的规则叫做模式(pattern),模式作用于对象. 模式和对象可以是Unicode或者字节,但是,不能够混用,比如:模式为Unicode,对象为字节,像 ...
- java获取真实的ip地址
直接上代码,获取请求主机的IP地址,如果通过代理进来,则透过防火墙获取真实IP地址 public class IPUtil { private static final Logger logger = ...
- linux 免密登录
ssh-keygen -t rsa -P "" ssh-copy-id -i ~/.ssh/id_rsa.pub root@服务器地址
- 第一百七十六节,jQuery,插件
jQuery,插件 学习要点: 1.插件概述 2.验证插件 3.自动完成插件 4.自定义插件 插件(Plugin)也成为 jQuery 扩展(Extension),是一种遵循一定规范的应用程序接口编 ...
- 没有Promise的时候自己处理复合异步请求
function getList(options){ $.ajax(success:funciton(){ if(options.callback) options.callback.call(); ...
- java MD5工具类
package com.common.tools; import java.security.MessageDigest; /** * MD5加密工具类 * <功能详细描述> * * @a ...
- staitc_cast,const_cast....
#include <iostream> using namespace std; int main() { //1.const_cast //const int a = 10; //int ...