discuz!论坛开发积分充值插件教程
在文件里设置如果没有这个变量就自己添加上去。
第一步:开启插件开发模式
在config\config_global.php文件里设置
$_config['plugindeveloper'] = 1;
如果没有这个变量就自己添加上去。
第二步:添加插件
1、登录论坛后台 → 插件 → 设计新插件
2、填写插件信息,根据自已的插件需要来写,唯一标识符建议不要用大写字母,需要区分字符的话可以使用下划线。
3、点击“提交”后,继续跳转到插件详情设置,按照要求填写插件描述信息
点击“提交”按钮后,如果提示“插件目录不合法”,可能是你目录名有大写字母,改成小写即可
4、 到source/plugin/下打开yuanbaopay目录(这个目录是上面设定的,没有的话就自己创建这个目录),在yuanbaopay目录里创建yuanbaopay.class.php文件(文件名就是上面填写的唯一标识符),内容如下:
<?php
/**
* [元宝支付插件] (C)2022 Powered by 美奇软件开发工作室
* Version: 1.0
* Date: 2022-7-29 16:55
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
class plugin_yuanbaoPay {
function __construct(){
}
/*方法名为钩子名称,钩子在哪里,这个就会显示在那个位置上*/
function global_usernav_extra3() {
return'<span><a href="plugin.php?id=yuanbaopay:pay" style="display:block;float:right;margin:3px; width:77px; height:22px; background:url(source/plugin/yuanbaopay/template/images/recharge.png) no-repeat center center;"></a></span>';
}
}
?>
注意:类名是 plugin_文件名,global_usernav_extra3()表示会显示在用户导航菜单里,如下:
如何查看discuz!各个位置的钩子?
1、在config\config_global.php文件里设置 $_config['plugindeveloper'] = 2;
2、超级管理员登录后台 → 工具 → 更新缓存 → 更新全部缓存
3、打开网站首页,刷新页面就会看到很多钩子
第三步:设计插件
1、登录论坛后台 → 插件 → 选择“设计”我们刚才创建 (添加)的插件
2、 在设计页面里点“模块”,添加一个新的模块,模块类型为“页面嵌入 - 普通版”,程序模块填写yuanbaopay,就是我们前面创建的类
这样就可以显示出来了。
第四步:发布插件
如果想将插件发布到discuz应用市场,需要先申请成为开发者,登录Discuz!开放平台,申请认证,认证通过后就可以发布应用了。提示信息_Discuz!开放平台 - Discuz!应用中心https://open.dismall.com/
1、应用插件想兼容编码(GBK和UTF-8),那么在设计插件时,需要启用插件语言包:
2、启用插件语言包的前提是,需要在论坛网站的data/plugindata/目录下,新建一个以插件标识符为命名的.lang.php文件 ,比如我的是yuanbaopay.lang.php,代码如下:
<?php
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
/** 程序脚本文件的语言包
* 程序脚本中调用脚本文件语言包,通过 lang('plugin/identifier', 'name') 方式调用
*/
$scriptlang['yuanbaopay'] = array(
'month' => '月',
'year' => '年',
'alipay' => '支付宝',
'weixin' => '微信支付',,
);
/** 模版文件的语言包
* 模版中调用模板文件语言包,通过 {lang identifier:name} 方式调用
*/
$templatelang['yuanbaopay'] = array(
'order_money' => '充值金额',
'order_addtime' => '订单时间',
'order_endtime' => '付款时间',
'order_paytype' => '付款方式',
'order_status' => '付款状态',
'order_remarks' => '备注',
);
/** 安装、升级、卸载脚本用的语言包
* 通过 $installlang 变量直接获取,如 $installlang['name']
*/
$installlang['yuanbaopay'] = array(
);
调用插件语言的方法,我已经在备注里写明了。
3、当我们导出xml配置文件时,会自动导出插件语言,供安装插件时使用。
更多推荐
所有评论(0)