第五步:

插件基本做好了,那么我们就要做插件的安装和卸载程序了,其实这个很简单。设计 2 个脚本文件用于插件的安装和卸载,文件名任意。脚本中可用 runquery() 函数执行 SQL 语句,表名可以直接写“cdb_”。只需在导出的 XML 文件(过会来讲导出)结尾加上安装、卸载脚本的文件名即可

    		<item id="installfile"><![CDATA[install.php]]></item>
    		<item id="uninstallfile"><![CDATA[uninstall.php]]></item>
    	</item>
    </root>

在 soruce/plugin/notice 下面建 install.php 文件

if(!defined('IN_DISCUZ')) {
	exit('Access Denied');
}

$sql = <<<EOF

DROP TABLE IF EXISTS cdb_my_notice;
CREATE TABLE IF NOT EXISTS `cdb_my_notice` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(30) NOT NULL,
  `content` varchar(500) NOT NULL,
  `publish_time` varchar(30) NOT NULL,
  `status` tinyint(4) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

EOF;

runquery($sql);

$finish = TRUE;

在 soruce/plugin/notice 下面建 uninstall.php 文件

if(!defined('IN_DISCUZ')) {
	exit('Access Denied');
}

$sql = <<<EOF

DROP TABLE cdb_my_notice;

EOF;

runquery($sql);

$finish = TRUE;

这样插件的安装和卸载就做好了,至于更新和授权很简单,这里就不做了,可以查看文档《插件安装、卸载、升级脚本的设计》剩下要做的就是导出 XML 了,在后台》插件》消息提示》设计》导出 点击”导出”,就会生成 discuz_plugin_notice.xml, 如果导出的 XML 文件名以 SC_GBK、SC_UTF8、TC_BIG5、TC_UTF8 结尾,显示的时候将直接显示为“简体”、“繁体”、“UTF8”等字样。 我们这里导出 3 个文件分别为 discuz_plugin_notice_SC_UTF8.xml,discuz_plugin_notice_SC_GBK.xml,discuz_plugin_notice.xml,将这 3 个文件同时也放入 soruce/plugin/notice 下。这样我们卸载我们做的插件并重新安装就会出现下面的界面了:

Discuz!X 插件开发实例教

好的,目前为止我们的插件就做完了, 这个插件很简单,只是为了教程演示用,没有用到插件缓存,插件模版,特殊主题等内容,这些大家可以根据自己的需要去做,如果有什么错误还请指出,我也是菜鸟,如果有问题也可以留言讨论

转载请注明: 转载自Ryan 是菜鸟 | LNMP 技术栈笔记

如果觉得本篇文章对您十分有益,何不 打赏一下

谢谢打赏

本文链接地址: Discuz!X 插件开发实例教程-右下角弹出广告框(五)

知识共享许可协议 本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可