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已打码

时间: 2024-07-29 21:55:07

corethink功能模块探索开发(三)让这个模块可见的相关文章

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

corethink是opencmf的一个开源版本,如果自己要进行二次开发,开发模块等,需要在官方开一个中级会员(50大洋吧),官网的一个"一键生成demo"就能给你最基础的目录结构,从而可以在此基础上快速进行二次开发.但是穷..自己"探索探索"吧 1.后台是系统.用户.CMS三个大组,源码目录中有Admin.User.CMS三个,所以在那三个的同级目录新建一个目录Equip(名字根据自己的需求随便取) 2.其他目录中共有的目录Admin.Conf.Controlle

Android艺术开发探索第三章————View的事件体系(下)

Android艺术开发探索第三章----View的事件体系(下) 在这里就能学习到很多,主要还是对View的事件分发做一个体系的了解 一.View的事件分发 上篇大致的说了一下View的基础知识和滑动,现在我们再来聊聊一个比较核心的知识点,那就是事件分发了,而且他还是一个难点,我们更加应该掌握,View的滑动冲突一直都是很苦恼的,这里,我们就来一起探索一下 1.点击事件的传递规则 我们分析的点击事件可不是View.OnClickListener,而是我们MotionEvent,即点击事件,关于M

Android艺术开发探索第三章——View的事件体系(上)

Android艺术开发探索第三章----View的事件体系(上) 我们继续来看这本书,因为有点长,所以又分了上下,你在本片中将学习到 View基础知识 什么是View View的位置参数 MotionEvent和TouchSlop VelocityTracker,GestureDetector和Scroller View的滑动 使用scrollTo/scrollBy 使用动画 改变布局参数 各种滑动方式的对比 弹性滑动 使用Scroller 通过动画' 使用延时策略 这章的概念偏自定义View方

iOS视频功能模块的开发

iOS视频功能模块的开发 一.使用MPMoviePlayerController进行视频播放 MPMoviePlayerController是iOS中进行视频播放开发的一个控制类,里面涵盖了视频播放中大部分的需求功能,在使用这个框架时,需要导入头文件<MediaPlayer/MediaPlayer.h>. 1.初始化方法 MPMoviePlayerController可以播放网络视频,也可以播放本地视频,通过不同的URL来进行初始化,例如本地视频的初始化如下: //视频文件路径     NSS

Java Web高性能开发(三)

今日要闻: Clarifai:可识别视频中物体 最近几年,得益于深度学习技术的发展,谷歌和Facebook等企业的研究人员在图形识别软件领域取得了重大突破.现在,一家名为Clarifai的创业公司则提供了一项新服务,利用深度学习技术来理解视频内容. 深度学习需要借助一个模拟"神经元"的网络来处理数据,并且利用实例数据对其进行训练.Clarifai的技术源自纽约大学的研究,该公司2013年在一项著名的图片内容识别软件竞赛中取得前五名. 今日英文: http://docs.oracle.c

独家全功能USB2.0开发板,最强CY7C68013A-128核心板,超强资料不断提供更新服务

       学习USB开发再也不用买书啦,也不用花费重金去上培训班啦,IFLabs开创USB学习开发新模式,你所需要的知识.技术.范例.代码等等统统都在这里.IFLabs打造全网最丰富.最权威的USB开发平台和资料. 热卖的IFLabs精品USB2.0核心板套件再升级,全网独家推出最强.最全功能的Cypress USB 2.0 CY7C68013A-128AXC核心板开发板,全网最全配件和全网最全开发资料.只需这一次投入,即可实现USB接口开发的从入门到精通!并且有长期的全网最全开发手册更新支

WPF触控程序开发(三)——类似IPhone相册的反弹效果

用过IPhone的都知道,IPhone相册里,当图片放大到一定程度后,手指一放,会自动缩回,移动图片超出边框后手指一放,图片也会自动缩回,整个过程非常和谐.自然.精确,那么WPF能否做到呢,答案是肯定的. 在没有现成的控件的情况下,只有自己做,你肯定想到做动画,WPF触屏开发提供了相应的功能来获取触控点的一些变化,这些变化的最佳消费者个人认为是Matrix.我们回想下做动画一般怎么做,比如给一个button做个宽度增5的动画,我们一般是定义一个DoubleAnimation,然后定义一个Sotr

【Nginx】开发一个HTTP过滤模块

与HTTP处理模块不同.HTTP过滤模块的工作是对发送给用户的HTTP响应做一些加工. server返回的一个响应能够被随意多个HTTP过滤模块以流水线的方式依次处理.HTTP响应分为头部和包体,ngx_http_send_header和ngx_http_output_filter函数分别负责发送头部和包体.它们会依次调用各个过滤模块对待发送的响应进行处理. HTTP过滤模块能够单独处理响应的头部或者包体或同一时候处理二者.处理头部和包体的方法原型分别例如以下,它们在HTTP框架模块ngx_ht

第三章:模块加载系统(requirejs)

任何一门语言在大规模应用阶段,必然要经历拆分模块的过程.便于维护与团队协作,与java走的最近的dojo率先引入加载器,早期的加载器都是同步的,使用document.write与同步Ajax请求实现.后来dojo开始以JSONP的方法设计它的每个模块结构.以script节点为主体加载它的模块.这个就是目前主流的加载器方式. 不得不提的是,dojo的加载器与AMD规范的发明者都是james Burke,dojo加载器独立出来就是著名的require.本章将深入的理解加载器的原理. 1.AMD规范