请选择 进入手机版 | 继续访问电脑版
开启辅助访问
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

点击进入授权页面

只需一步,快速开始

[Discuz教程] discuzX2开发插件导出时的技巧

回复:0 | 查看:1307 | ivyhao 发表于 2018-1-17 00:01:17 |阅读模式 |复制链接
在之前的插件体系中,设计一个插件的最后一个步骤就是将插件导出为xml 文件以便安装,如果对于没有单独数据表的插件来说,这样就算是最后一步了,但是如果对于有自己的插件表,甚至还有自己的一个安装流程的插件来说,还需要自行编辑 xml 文件,添加安装脚本的信息,或者是添加卸载等脚本的信息。

在 Discuz!2.0中只要插件目录中存在 install.php 或者 uninstall.php、 upgrade.php 这些文件,那么在导出的时候都会自动的在 xml 文件中生成对应的数据。极大的方便了插件开发者。

以官方的“我的马甲”插件为例,在 sourcepluginmyrepeats 目录下存在install.php 和uninstall.php 两个文件,在Discuz!X 1.5中,如果在后台-插件-设计我的马甲,中点击导出的话是不会有这两个文件的相关信息导出的,在 Discuz!X 2.0 中,将会自动在xml 文件中增加:

  • CDATA[install.php]]>


复制代码
此代码,即可完全免去手动修改 xml 的操作了~~

分析代码:
打开 sourceadmincpadmincp_plugins.php 这个文件可以看到:

  • if(file_exists($plugindir.'/install.php')) {
  • $pluginarray['installfile'] = 'install.php';
  • }
  • if(file_exists($plugindir.'/uninstall.php')) {
  • $pluginarray['uninstallfile'] = 'uninstall.php';
  • }
  • if(file_exists($plugindir.'/upgrade.php')) {
  • $pluginarray['upgradefile'] = 'upgrade.php';
  • }
  • if(file_exists($plugindir.'/check.php')) {
  • $pluginarray['checkfile'] = 'check.php';
  • }

复制代码
这一段代码,也就是说这四种操作都可以在导出之前先建立好文件然后导出时候自动增加到 xml 文件里面了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

快速回复 返回列表 客服中心





企业站定制,我们更专业!

联系我们
快速回复 返回顶部 返回列表