频道模块存放的目录是
/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);
~~~
`id`, `type`,
这两项是非常关键的, 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 其它就不需要修改
[![](https://box.kancloud.cn/04bf4226ecce3672411717b357f4bd7f_1772x524.jpg)](https://box.kancloud.cn/04bf4226ecce3672411717b357f4bd7f_1772x524.jpg)
如果安装后,需要执行一些特别的操作,可以把脚本写在
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
这个文件里边
重要提示:
如果安装时要安装钩子的话,请务必要确认卸载的时候,要把钩子清除干净,以防止用户重复安装导致多个钩子重复运行.
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基础
- 齐博X1的诞生
- 齐博X1目录结构
- 如何安装齐博X1
- 新手快速入门教程
- 常用文件目录说明
- 齐博X1标签
- 什么是标签
- 当前URL标签
- 图片标签
- 单张图片标签的使用
- 多张组图的标签调用
- 标签进阶之幻灯片制作
- 背景图如何设置标签
- 内容页标签
- 内容页中下一页上一页的标签
- 内容评论标签的风格制作
- 标签实例
- 做模板组图单图无图混排的处理
- 列表页制作及无滚动加载内容
- 调用多个圈子同时调用贴子
- 调用多个圈子同时调用相关会员
- 标签的嵌套用法,调用聚合数据
- 标签如何调用论坛内容
- 标签设置取组图不存在就取内容中的图片
- 标签之无刷新显示更多
- 异步加载标签数据
- 标签动态调用数据
- 文本代码标签的使用
- where 标签动态变量查询
- where 实现条件筛选与数据关联
- 会员中心如何加标签
- 模板中常用的TP标签数据处理
- 同一个标签要更换不同模块的数据
- 万能数据统计之fun函数
- 齐博X1模块
- 什么是模块?模块的组成。
- 如何添加字段
- 栏目名称的调用
- 栏目名称调用详解
- 相关栏目名称的调用
- 辅栏目(专题)的使用说明
- 模块后期要加参数的方法
- 表单自动生成器
- 简单的模块制作说明(随风编写)
- 齐博X1插件
- 插件.七牛云.配置说明
- 齐博X1钩子
- 钩子简单制作-tag加连接解说版(随风编写)
- 齐博X1模板
- 模板目录文件说明
- 几个关键模板文件要熟知
- 新模板要注意问题
- 模板文件调用的优先级
- 2018.8.13模板制作升级调整
- block模板的分块替换
- 模板包含文件使用说明
- 圈子黄页风格制作说明
- 齐博X1配置
- 微信和小程序的配置
- 如何对接公众号
- 对接小程序设置
- 在线支付接口的使用
- 支付宝对接收款配置
- 阿里云短信配置
- 邮箱接口设置
- 邮箱接口设置之QQ普通邮箱
- 邮箱接口设置之163普通邮箱
- 邮箱接口设置之QQ企业邮箱
- QQ登录接口配置
- 齐博X1路由
- URL伪静态设置
- route.php与routemy.php短网址设置
- 齐博X1二次开发
- 二次开发的灵魂fun函数
- 商城判断是否购买过
- 如何调取当前模块ID
- 模块安装文件讲解
- 表单快速启用城市地区功能
- 自定义字段多文件多图的显示处理
- 后台网站参数配置修改与添加
- 频道插件如何对接圈子
- 自定义字段下拉菜单关联其它数据表
- 自定义字段表单默认调用会员资料
- 齐博X1注意事项
- 云市场注意事项
- 如何强制进后台
- 换服务器如何转移网站
- 再强调严禁用记事本改任何文件
- 解决Web部署 svg/woff/woff2字体 404错误
- 齐博X1更新记录
- 关于thinkphp5