我终于写出了自己的一个伟大的插件,我希望别人也能使用这个插件!我想发布这个插件,我该如何做呢? 面对问题
然而我们刚刚写完了一个插件,但是我们所要面临的问题才刚刚开始,我们需要考虑的内容很多,这些内容包括:
1. 我使用的语言编码方式是UTF8,我希望那些使用GBK的站长也能使用我的插件
2. 我可能会使用到数据库来建立我需要使用的表,我该如何建立
3. 我怎么描述出我的使用条例或者安装条例
4. 我怎么为我的插件进行插件描述
5. 我的插件发布在哪里,是否需要收费
天啊,我头都大了!我根本没有想过这个问题!如此多的问题迎面而来,我该如何解决?嘿嘿,这个时候就是体现我自己价值的时刻了,我们来慢慢的讲解吧!
语言编码
要解决语言编码的问题比较的麻烦,首先我们要确保我们所有程序里面没有出现中文字符,其次我们需要新建一个文件:data/plugindata/mtest.lang.php这个文件,写入内容为:
- <?php
- $scriptlang['mtest'] = array(
- 'enable' => '启用',
- );
- $templatelang['mtest'] = array(
- );
- ?>
- $mlang=$scriptlang['mtest'];
接下来,我们要做不同的对应的语言编码的 xml文件了。

我相信你一定看到导出这个按钮了,然后就是一个XML文件,把它存放到你的插件目录下面,如果您不愿意做多语言编码的插件,那么就可以直接打包插件目录为rar格式,您的插件已经完成。这里,我们还有GBK的站长需要,因此我们需要进行转码。首先我们对我们的这个:discuz_plugin_mtest.xml文件进行改名,改名为:discuz_plugin_mtest_SC_UTF8.xml ,这里:SC表示简体中文 UTF8表示UTF8编码方式,然后使用编码转换工具,经这个XML文件转码后,重命名为对应的名字,放在这个目录下即可。编码转换工具我推荐 ConvertZ 这个工具,可以在网上搜索一下。至此,我们的转换工作就做完了!
使用数据库
我需要使用数据库,我的插件需要新建一个数据表怎么办?
还记得我们刚才导出的那个XML文件么?我们需要修改这个XML文件的内容来实现我们的操作了。我们需要在
- <item id="DATA"></item>
- [indent]<item id="installfile"><![CDATA[install.php]]></item>[/indent][indent]<item id="uninstallfile"><![CDATA[uninstall.php]]></item>[/indent]
<?php /* mguide for DISCUZ X 1.0 editor: monkee version:1.0 */ if(!defined('IN_DISCUZ')) { exit('Access Denied'); } $sql = <<<EOF DROP TABLE IF EXISTS CDB_TABLE_SETTING; CREATE TABLE CDB_TABLE_SETTING( `key` varchar(20) not null primary key, `value` text ) ENGINE=MYISAM DEFAULT CHARSET=DCHARSET; EOF; $sql=str_replace(array('CDB_TABLE_SETTING','DCHARSET'),array(DB::table('mguide_setting'),$_G['charset']=='utf-8'?'utf8' ![]() foreach(explode(';',$sql) as $item){ if(!empty($item)) DB::query($item); } $finish = TRUE; ?> |
具体可参考:网游发号 的install.php这个文件。 使用条例和插件描述
呵呵,这个嘛请参考: http://www.bbsapp.com/PluginDevloper/ 人家已经写得很清楚了!
插件发布
插件发布到: http://www.discuz.net/forum-26-1.html 这个板块就可以。
到此,插件制作教程到此结束,更高级的应用,欢迎您加入“ Discuz!X1 开发与研究”或 QQ 群“12893286”一起探讨 Discuz! X 开发中您遇到的问题。