南雄腾飞南雄网站建设,十年专注于网站建设,平面设计,公众号,微信小程序,各种网络服务,服务QQ 68499514  电话微信:18023690303(加前请注明网站建设)
南雄腾飞网站建设

简单的模块制作说明---注释版

.

2018-05-24 13:53:54 来源: 作者:华桥 【 】 浏览:129次 评论:0

相关文章

 

这里不说后台一键复制 仅仅是以cms 为例简单的说下各个文件 各个配置的作用是什么

member_menu.php  会员中心菜单文件

 <?php
return [
    'cms' => [  // 模块目录名 小写
        'title' => 'cms',  // 模块目录名
        'sons' => [
            [
                'title' => 'CMS功能', // 父级菜单名称
                'sons' => [
                    [
                        'title' => '我发布的内容',  //子菜单名称
                        'link' => 'content/index' //子菜单连接
                    ],
                    [
                        'title' => '发布内容', //子菜单名称
                        'link' => 'content/postnew'
                    ],
                    [
                        'title' => '采集公众号文章', //子菜单名称
                        'link' => 'content/copynews' //子菜单连接
                    ]
                ]
            ]
        ]
    ]
];

Info.php

<?php
namespace app\cms; // 命名空间到cms模块 新模块的需要 把cms改为模块名 小写 小写 小写
// 下面这里保持不变即可
class Info{
	public static $keyword; 
}

config.php

<?php

return [
	//自动表单 前台列表页母模板
	'automodel_listpage'=>APP_PATH.'cms/view/index/default/content/list.htm',
	//自动表单 前台详情展示页母模板
    'automodel_showpage'=>APP_PATH.'cms/view/index/default/content/show.htm',
	
	//自动表单 前台辅栏目列表页母模板
	'automodel_category_listpage'=>APP_PATH.'common/builder/listpage/category_list.htm',
	
	//发布信息选择模型页模板
    'post_choose_model'=>APP_PATH.'common/builder/sort/model_list.htm',
	//发布信息选择栏目页模板
    'post_choose_sort'=>APP_PATH.'common/builder/sort/layout.htm',
	// 是不是有副栏目 没有就删除
	'use_category'=>true,
    //发布内容必须要选择栏目 不是的话就写  false
    'post_need_sort'=>true,
    //模块关键字,目录名,也是数据表区分符    
     'system_dirname'=>basename(__DIR__),
];

admin_menu.php 配置和会员中心菜单配置方法是一致的 不多写了 参考cms示例


install 目录 Copyinstall.php 复制的时候执行 默认或者删除就可以

install 目录 Install.php 安装的时候执行的脚本 不需要执行留空或者删除 下面是一个小示例 没实际意义 仅仅是示例

<?php 
namespace app\cms\install;
use app\common\controller\AdminBase;
class Install extends AdminBase{
    public function run($id=0){
        $hook=db('hook')->where(['name'=>'cms_content_show'])->find(); //读取钩子表
		//判断钩子是不是存在 不存在就执行安装钩子操作
		if(!$hook){
			$data=['name'=>'cms_content_show','about'=>'内容展示页接口','ifopen'=>'1'];
			db('hook')->insert($data);
		}
		//这里可以执行任意php代码 
    }
}

install 目录 install.sql 安装的SQL脚本 没得说码农都懂

install 目录Uninstall.php 卸载脚本 和安装脚本一样可以执行卸载模块时候的动作 下面是个小示例 一样没有实际意义仅仅是演示

<?php 
namespace app\cms\install;
use app\common\controller\AdminBase;
class Uninstall extends AdminBase{
    public function run($id=0){
        $plugins=db('plugin')->where(['id'=>$id])->value('keywords');
		//卸载钩子动作
		db('hook_plugin')->where('plugin_key',$plugins)->delete();
    }
}

install 目录 uninstall.sql 没用的可以删除

install 目录 info.php

<?php
return [
	'keywords'=>basename(dirname(__DIR__)),	//关键字,即是目录名也是数据表区分符
	'name'=>'CMS系统',	//模块名称
	'author'=>'齐博',	//开发者
	'author_url'=>'http://www.php168.com',	//开发者网站或者是演示网址
	'type'=>'1',		//当前模块是否可以复制 不可以复制就设为0
	'about'=>'这里是模块介绍 字数不宜过多',	//介绍
	'version'=>'1.0',	//版本号
	'icon'=>'fa fa-fw fa-file-text',		//CSS图片 小技巧后台模块哪里有图标选择器 可以选择个性图标
	'ifsys'=>'0',	//是否禁止卸载	禁止卸载就设为 1 不建议这么做
	'config_group' =>['基础设置',],	//参数配置分组 不建议写基础设置 可以改为 模块名设置 比如 cms设置  不然核心设置哪里一堆基础设置
	//涉及到的数据表,不要写前缀
	'sql_db' =>['content','content1','content2','content3','field','module','member','sort','category','info'], // 你这个模块有哪些数据表都要写在这里不然卸载的时候卸载不掉数据表  数据库命名格式 qb_模块名_数据表 比如 qb_cms_content 这里是省略 qb_cms_ 的 不要搞错了 
	
];

未完待续!!!看我一步一步重新做一个cms 简单到你怀疑人生


上一篇小编对网站SEO中的基本认识
下一篇V系列转换程序重新起航 支持v全系..


欢迎访问南雄腾飞网站,我们承接网站制作,平面设计,监控安装等业务。
如果您有以上类似需要,请跟我们的技术联系,我们必给您一个满意的答复,技术电话微信:18023690303 QQ 68499514 地址:广东省南雄黄坑文明西路88号

  .
网站制作