PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > CMS教程 > discuz教程 > 正文

    Discuz插件制作教程【入门+精通+实战】

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:一、开发插件所需资料与工具 1、DiscuzX3 插件机制插件机制Discuz! 拥有一套完整的插件机制。合理使用插件机制,你可以更好的将自...
    <?phpclass task_name {        var $version = '1.0';//脚本版本号        var $name = 'name';//任务名称 (可填写语言包项目)        var $description = 'desc';//任务说明 (可填写语言包项目)        var $copyright = 'Comsenz Inc.';//版权 (可填写语言包项目)        var $icon = '';//默认图标        var $period = '';//默认任务间隔周期        var $periodtype = 0;//默认任务间隔周期单位        var $conditions = array(//任务附加条件                'text' => array(                        'title' => 'text_title',//设置项目名称 (可填写语言项目)                        'type' => 'mradio',//项目类型                        'value' => array(),//项目选项                        'default' => 0,//项目默认值                        'sort' => 'complete',//条件类型 (apply:申请任务条件 complete:完成任务条件)                ),        );        function preprocess($task) {//申请任务成功后的附加处理        }        function csc($task = array()) {//判断任务是否完成 (返回 TRUE:成功 FALSE:失败 0:任务进行中进度未知或尚未开始  大于0的正数:任务进行中返回任务进度)        }        function sufprocess($task) {//完成任务后的附加处理        }        function view($task, $taskvars) {//任务显示        }        function install() {//任务安装的附加处理        }        function uninstall() {//任务卸载的附加处理        }        function upgrade() {//任务升级的附加处理        }}?>验证问答类
    脚本位置:source/class/secqaa/secqaa_name.php
    语言包位置:source/language/secqaa/lang_name.php
    【Discuz! X3.0 新增】
    脚本位置:source/plugin/插件目录/secqaa/secqaa_name.php
    <?phpclass secqaa_name {        var $version = '1.0';//脚本版本号        var $name = 'name';//验证问答名称 (可填写语言包项目)        var $description = 'desc';//验证问答说明 (可填写语言包项目)        var $copyright = 'Comsenz Inc.';//版权 (可填写语言包项目)        function make(&$question) {//返回安全问答的答案和问题 ($question 为问题,函数返回值为答案)        }}?>验证码类(Discuz! X2.5 新增)
    脚本位置:source/class/seccode/seccode_name.php
    语言包位置:source/language/seccode/lang_name.php
    【Discuz! X3.0 新增】
    脚本位置:source/plugin/插件目录/seccode/seccode_name.php
    <?phpclass seccode_name {        var $version = '1.0';//脚本版本号        var $name = 'name';//验证码类型名称 (可填写语言包项目)        var $copyright = 'Comsenz Inc.';//版权 (可填写语言包项目)        var $setting = array();//后台设置后的变量        function check($value, $idhash) {//检查输入的验证码,返回 true 表示通过                        }        function make() {//输出验证码,echo 输出内容将显示在页面中        }}?>
    计划任务模块开发
    •本功能为 Discuz! X3.0 新增内容
    •计划任务模块用于拓展一个计划任务项目,本模块会在插件安装时自动添加到系统计划任务中,并在插件卸载时自动从中删除
    脚本位置:source/plugin/插件目录/cron/cron_name.php
    <?php//cronname:mycron     计划任务名称,可写脚本语言包中的项目//week:1              设置星期几执行本任务,留空为不限制//day:1               设置哪一日执行本任务,留空为不限制//hour:1              设置哪一小时执行本任务,留空为不限制//minute:0,30         设置哪些分钟执行本任务,至多可以设置 12 个分钟值,多个值之间用半角逗号 "," 隔开,留空为不限制if(!defined('IN_DISCUZ')) {        exit('Access Denied');}//您的计划任务脚本内容?>
    缓存更新模块开发
    •本功能为 Discuz! X3.0 新增内容
    •缓存更新模块用于在系统更新缓存时拓展一个缓存更新项目
    脚本位置:source/plugin/插件目录/cache/cache_name.php
    <?phpif(!defined('IN_DISCUZ')) {        exit('Access Denied');}function build_cache_plugin_name() {        //您的缓存更新脚本内容}?>
     
    插件安装、卸载、升级脚本的设计
    目录 [隐藏]
    •
    1 安装、卸载
    •2 升级
    •3 检测
    •4 授权协议、插件介绍
    &bull
    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-106-782-1.html
    相关热词搜索: Discuz插件