DZ插件网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 101|回复: 0

discuz X3.4开发插件导出时的技巧

[复制链接]
已绑定手机

3133

主题

1289

回帖

4432

积分

管理员

积分
4432
发表于 2022-9-21 18:52:27 | 显示全部楼层 |阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
*************************************************
** 本教程基于版本:Discuz! X 3.4                                  **
*************************************************

在之前的插件体系中,设计一个插件的最后一个步骤就是将插件导出为xml 文件以便安装,如果对于没有单独数据表的插件来说,这样就算是最后一步了,但是如果对于有自己的插件表,甚至还有自己的一个安装流程的插件来说,还需要自行编辑 xml 文件,添加安装脚本的信息,或者是添加卸载等脚本的信息。

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

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

  1.         <item id="installfile"><![CDATA[install.php]]></item>        <item id="uninstallfile"><![CDATA[uninstall.php]]></item>
复制代码
此代码,即可完全免去手动修改 xml 的操作了~~

分析代码:
打开 source\admincp\admincp_plugins.php 这个文件可以看到:
  1.         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 文件里面了。
<
一花一世界,一叶一追寻。一曲一场叹,一生为一人。
 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

GMT+8, 2023-2-3 12:55 , Processed in 0.121260 second(s), 62 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2023 Tencent Cloud.

点击联系客服QQ
扫码联系客服微信