1,开始编写一个新插件,请首先打开 config/config_global.php 文件,在文件结尾添加以下代码开启插件设计者模式。
$_config['plugindeveloper'] = 1;
2,进入到discuz管理员后台,点击”应用->插件->设计新插件
(唯一标识符要与/source/plugin/插件文件夹名/要相同)。
3,点击“设计->模块”定义插件接入点:编写的插件要接入到系统,必须要定义接入点。
(程序模块的名称必须跟/source/plugin/插件文件夹名/ 下的文件名相同
链接URL里的id=程序模块的名称,它是唯一对外访问的接口)
4,点击”设计->变量”,定义插件所要使用的变量(设置参数)。在程序里可以通过
$_G['cache']['plugin']['插件名']['参数名']取后台设置的变量值。
如果后台配置了变量,会在插件列表生成一个”设置”链接,如果使用其他自定义的管理链接,可在“设计->模块”添加,添加后系统会自动在该地方生成。
5,点击”设计->导出”可以导出该插件的xml文件。
后台设计插件总结:
1,通过后台设计新插件功能,设计好插件的名称,插件的插入点(变量可以在开发过程逐渐添加)。
2,根据后台设计新插件,在程序目录/source/plugin/ 建立文件结构。
二、常用的调用方法
1,调用设置的插件变量
$_G['cache']['plugin'][插件名][参数名];
2,调用table文件夹下的表操作。
C::t('#插件名#类名(文件名)')->fetch_all_test();
3,判断用户是否登录
if(!$_G['uid']) {
showmessage('not_loggedin', NULL, array(), array('login' => 1));
}
4,外部访问都是通过“设计->模块”中定义的模块来操作的。
如果要实现不同的操作,需要在一个模块文件中使用不同的action区分。
plugin.php?id=插件名&参数名=参数值。
获取这个URl的所提交数据使用:$action = $_G['gp_参数名'];(注意“gp”不能少)
5,调用模板:
include template(插件名:模板名');