频道模块存放的目录是
/application/频道目录/

插件存放的目录是
/plugins/插件目录/

他的安装目录都是/install/

推荐参考默认的
/application/cms/install/
复制整个安装目录出来进行修改

install.sql 数据库资料,一般来说,这是必须的,一个模块是缺少不了数据库的

数据库中其它都好理解,但是有一项非常关键的地方,大家务必高度重视
举个例子

INSERT INTO `qb_config` (`id`, `type`, `title`, `c_key`, `c_value`, `form_type`, `options`, `ifsys`, `htmlcode`, `c_descrip`, `list`, `sys_id`) VALUES(0, -1, 'SEO标题', 'mseo_title', '', 'text', '', 0, '', '', 100, 4);

idtype,
这两项是非常关键的, id的值全部设置为0 设置为空即''也可以, type的值必须设置为-1

非常关键,重要的话,再重复一次, type的值必须设置为-1

因为系统所有的配置都存放在qb_config这个数据表里, 安装的时候,如何区分开来,就是根据 type为-1进行特别处理的. 其它各项参数保留从你原来系统导出来的值即可

你在本地调试模块添加参数的时候,在后台开发者功能那里添加各项参数, 添加好之后,就需要把他们导出来. 导出来后,其它可以不变,就只要把 id type 这两项,按上面说的,改一下,即可

用到其它数据表的话,最好是加上
DROP TABLE IF EXISTS ******;

如果有用到钩子的话,

INSERT INTO `qb_hook_plugin` (`id`, `hook_key`, `plugin_key`, `hook_class`, `about`, `ifopen`, `list`, `author`, `author_url`, `version`, `version_id`) VALUES(0, 'layout_body_foot', '', 'app\\weibo\\hook\\MsgRemind', '有新的微博动态消息,就弹层提醒', 1, 0, '齐博', 'http://www.php168.com', '', 0);

还需要你把钩子的数据表导出来,如上所示.

钩子数据表也需要把id的值变成0 其它就不需要修改

如果安装后,需要执行一些特别的操作,可以把脚本写在

install/Install.php
这个文件

public function run($id=0){
}

方法统计用这个
$id代表安装成功以后对应的模型ID

系统卸载时,要把残留全清空的话,需要扫行脚本的话,
install/Uninstall.php
请在这个文件写脚本.

public function run($id=0){
query("DELETE FROM `qb_hook_plugin` WHERE `hook_class` = 'app\\weibo\\hook\\Content'");
query("DELETE FROM `qb_hook_plugin` WHERE `hook_class` = 'app\\weibo\\hook\\MsgRemind'");
}

他会在卸载前先执行.因为卸载后整个目录都会被删除掉.
比如上面的就是要钩子清空掉. 不然会残留有钩子,下次安装的时候,又会重复出现钩子.容易造成重复执行的问题.

如果仅仅是操作数据库的话,也可以把数据库代码放到
uninstall.sql
这个文件里边

重要提示:

https://www.wanxiangyundang.com/
如果安装时要安装钩子的话,请务必要确认卸载的时候,要把钩子清除干净,以防止用户重复安装导致多个钩子重复运行.

info.php
这个就是参数配置文件,每个模块都一样,对应的修改即可

return [
'keywords'=>basename(dirname(__DIR__)), //关键字,即是目录名也是数据表区分符
'name'=>'微动态', //模块名称
'author'=>'齐博', //开发者
'author_url'=>'http://www.php168.com', //开发者网站或者是演示网址
'type'=>'1', //当前模块是否可以复制
'about'=>'', //介绍
'version'=>'1.0', //版本号
'icon'=>'fa fa-fw fa-weibo', //CSS图片
'ifsys'=>'0', //是否禁止卸载
'config_group' =>['基础设置',], //参数配置分组
//涉及到的数据表,不要写前缀
'sql_db' =>['content','content1','field','module','member','sort','groups','visit','feed','fav'],
'bind_modules' =>'bbs', //依赖于哪个模块,多个用逗号隔开
'bind_plugins' =>'', //依赖于哪个插件,多个用逗号隔开
];

齐博x1模块安装文件讲解的更多相关文章

  1. 齐博x1第四季《模块插件的制作》系列21-公共表单器的参数选项(7)

    password 密码类型 和text一样,只不过type类型是password,密码类型输入时,显示星号.即Html中的密码框类型 icon 字体图标类型 和列表页一样,把css的字体图标引入到了表 ...

  2. 齐博X1到底是个什么鬼?

    什么是齐博/齐博CMS之X1? 齐博X1是齐博软件基于thinkphp5开发的内容管理系统,拓展性非常强,后台一键升级,后台提供丰富的频道模块云市插件市场.风格市场.钩子市场,所有都是一键在线安装. ...

  3. 最近无聊搭建一个齐博X1的下载页面

    https://layui.wanxiangsucai.com/ 用layui官方镜像站的模版 改了个齐博X1的下载页面 https://x1.wanxiangsucai.com/ 哈哈哈!!! 还有 ...

  4. 齐博x1齐博首创钩子的使用方法

    齐博X1有两套钩子体系,第一套是基于TP思路设计的.跟外面的大同小异.现在重点讲一下第二套我们首创的使用方法. 首先说一下如何埋钩子,这个跟TP思路的钩子类似,就是在页面的任何地方加入如下代码即可如下 ...

  5. 齐博x1到底是怎么的存在?

    齐博X1是齐博软件基于thinkphp5开发的内容管理系统,拓展性非常强,后台一键升级,后台提供丰富的频道模块云市插件市场.风格市场.钩子市场,所有都是一键在线安装. 系统已经对接好QQ.微信登录,同 ...

  6. 齐博软件 著名的老牌CMS开源系统 X1.0基于thinkphp开发的高性能免费开源PHP开放平台齐博x1.0基于thinkphp框架开发的高性能免费开源系统 主推圈子 论坛 预定拼团分销商城模块

    齐博X1--标签变量大全 1.网站名称: {$webdb.webname} 2.网址: {$webdb[www_url]} {:get_url('home')} 3.网站SEO关键词: 首页:{$we ...

  7. 齐博x1服务器性能太差,调整系统升级每次校验的文件数

    系统升级需要校验本地的文件是否被修改过,系统默认每次检验1千个文件,一般来说需要分四到五页来处理,如下图所示. 如果你的服务器性能太差的话,就需要手工把数值调小.把下面的代码复制出来.进入后台数据库管 ...

  8. Python中模块安装文件的创建及使用

    在Python编程中,我们常常需要自己编写模块,当模块文件写好了,就需要创建安装文件,方便模块的发布. 此时,常用的方法,就是使用Python distutils(代表distribution uti ...

  9. 齐博x1标签实例:标签的嵌套用法,调用聚合数据

    齐博标签非常强大,可以让不懂程序的你,轻松就能实现所见即所得. 下面跟大家讲解一下,最复杂的运用, 同时使用了union 动态变量参数 与 分页处理标签 比如下面这张图,不仅仅想调用圈子,还想同时调用 ...

随机推荐

  1. Linux 04 用户文件

    参考源 https://www.bilibili.com/video/BV187411y7hF?spm_id_from=333.999.0.0 版本 本文章基于 CentOS 7.6 概述 完成用户管 ...

  2. 在centos服务器里安装opencv的坑:mportError: libXrender.so.1: cannot open shared object file: No such file or directory and wrong ELF class: ELFCLASS32

    centos7服务器安装opencv (其他版本服务器一样) 安装opencv: pip install opencv-python 导入cv2 import cv2 报错:importError: ...

  3. mybatis 15: 缓存

    作用 当对某些数据的查询请求频繁,且数据不经常修改时,使用缓存机制可以提高查询效率 注意 mybatis专注于sql查询,数据映射 缓存问题应该交给专门负责缓存的其他第三方框架 mybatis缓存执行 ...

  4. flutter系列之:widgets,构成flutter的基石

    目录 简介 StatelessWidget和StatefulWidget StatelessWidget详解 StatefulWidget详解 总结 简介 flutter中所有的组件都是由widget ...

  5. Flutter 开启 Windows、macOS 平台支持的命令

    Flutter 的多平台支持除了 Android 和 iOS 是默认开启的以外,比如 Windows.Linux 平台的支持需要手动开启. Flutter config 命令集中,有以下参数是对于平台 ...

  6. [SDOI2017]序列计数 (矩阵加速,小容斥)

    题面 Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数. Alice还希望,这n个数中,至少有一个数是质数. Alice想知道,有多少个序列满足她的要求 ...

  7. 【MATLAB】学习记录2-数组与向量

    1-数组 A=[1,2,3;4,5,6]%创建数组 [r,c]=size(A)%返回行列数 b=size(A) c=length(A)%返回最大的维数值 2-创建数组 先创建A数组 B=zeros(2 ...

  8. 在Laravel框架blog中,终端的一些命令

    创建控制器php artisan make:controller TestController数据库迁移php artisan make:migration create_goods_table实行迁 ...

  9. 至少要几个砝码,可以称出 1g ~ 40g 重量

    请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...

  10. django_day11_项目相关

    django_day11_项目相关 新增和编辑 路由 url(r'^category_add/$', views.category_change, name='category_add'), url( ...