齐博x1模块安装文件讲解

频道模块存放的目录是
/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' =>'',     //依赖于哪个插件,多个用逗号隔开
];
posted @ 2021-11-25 02:08  半抹灯芯  阅读(87)  评论(0编辑  收藏  举报