本质上就是把你当前的系统打包发布。
步骤如下:
1、删除多余的附件或网站数据,以保持尽可能的干净清爽。演示数据可以保留。
2、进后台备份数据,把备份出来的数据sql文件改名为 `install.sql` ,然后替换这个目录的相应文件 `applicationinstallsqlinstall.sql`
3、打开此网址 [https://x1.php168.com/appstore/index/getid.html](https://x1.php168.com/appstore/index/getid.html) ,把里边显示的SQL语句,
INSERT INTO `qb_config` (`c_value`,`title`, `type`, `c_key`, `form_type`, `ifsys`) VALUES('336','方案ID', 1, 'typeid', 'hidden', 1);
复制出来,放在 `applicationinstallsqlinstall.sql` 的最后一行
4、把此文件`applicationinstallinstall.lock`删除,不删除的话,就不能自动进入安装界面
5、首次发布前,务必把`applicationcommonupgrade` 此目录下的所有文件删除掉。里边的文件是之前X1的升级记录,你打包成方案后,这些都用不到了。而是要放放你自己的方案升级日志。
最后把文件打包,类似频道模块或风格那样在根目录压缩成zip文件,上传到应用平台的 方案产品 分类里边即可
这里的关键点,其实就是增加了一个方案ID参数,有这个参数以后,方案就不会跟随X1框架升级了。就只会跟着你的方案升级。
压缩包请控制在40M以内。如果太大的话,就把附件删除。
免费的大家都可以下载,收费的话,就不能直接下载。
发布到云市场的主要目的是为了能让安装的用户同步升级,你每次更新后,用户都会跟着你升级。
注意:方案ID中的SQL语句你查看后要尽快发布,不然别人抢占了这个ID你就失效了。336就是当前的ID
INSERT INTO `qb_config` (`c_value`,`title`, `type`, `c_key`, `form_type`, `ifsys`) VALUES('336','方案ID', 1, 'typeid', 'hidden', 1);
这个SQL语句我们推荐放在安装包里而不是直接在你的开发环境执行插进去,如果你当前调试的系统要运行插进去也是可以的,对你来说是更省事,但 这样有一个不好的地方,就是你开发环境不好跟X1的升级做对比。因为你的开发环境插入这个方案ID后,就不能跟随X1升级了。如果你不考虑升级的话,那无所谓。
也就是说当前系统数据库若存在方案ID参数的话,就不会再跟随X1框架升级。
最后还有一个很关键的地方,你的组装方案里边如果有其它频道的话,并且那些频道也不想跟随开发者升级的话,就把对应的ID删除。比如 `qb_module` `qb_plugin` `qb_market` `qb_hook_plugin`找到这4个表,哪些频道插件钩子不想跟随开发者升级的话,就把相应的 `version_id` 的这项值改为0 这样他就不会再跟着开发者升级了,而只跟着你的方案升级。
我们建议方案组装的模块插件都不要跟随开发者升级,防止意外的升级有可能会影响到方案。所以你可以在安装文件`applicationinstallsqlinstall.sql`最后加上如下代码
UPDATE qb_module SET version_id=0;r
UPDATE qb_plugin SET version_id=0;r
UPDATE qb_market SET version_id=0;r
UPDATE qb_hook_plugin SET version_id=0;
你本机的开发环境可以跟随模块开发者升级,你觉得有必要的才升级。到时再同步到方案里边去。
如果用户后来安装的插件就会跟着那个开发者升级的。
,



