discuz x2.5插件开发傻瓜图文教程,用demo说话
2019獨角獸企業重金招聘Python工程師標準>>>
剛剛接觸DZ的插件開發,記個傻瓜圖文教程,一是分享給初學者,二是方便自己以后回憶。
本篇文章適合人群:有一定的PHP開發經驗,想通過一個簡單明了的demo快速了解插件開發基本步驟。
相關資源:dz官方wiki?http://dev.discuz.org/wiki/#.E6.8F.92.E4.BB.B6.E6.9C.BA.E5.88.B6
此demo功能是在模板footer部位插入一段javascript代碼,這段代碼可以是alert提示,也可以是加載廣告等等。
第一步:
在config\config_global.php 文件里設置$_config['plugindeveloper'] = 1 如果沒這個變量自己加一行。顧名思義,開啟插件開發模式,開啟后后臺會多出現些菜單。
第二步
打開DZ后臺->應用->設計新插件,并填入下圖信息
點提交后就跳轉到了此插件的設置頁面
后臺頁面先另關,后面還要用到。
第三步
到source/plugin/下創建demo目錄,在demo目錄里創建demo.class.php文件,內容如下
<?php if(!defined('IN_DISCUZ')) { exit('Access Denied'); } class plugin_demo { function __construct(){ } function global_footer(){ return '<script>alert("插件我來了")</script>'; } }第四步
打開DZ后臺->應用->插件,選擇“設計”我們剛才創建的demo
在設計頁面里點“模塊”,添加一行如下圖所示
添加完后點“提交”
第五步
打開DZ后臺->應用->插件,“啟用”我們的插件
啟用后到前臺去打開個頁面看看,是不是執行了js腳本了
如果不靈,在界面->風格管理->更新css緩存后再試下看
=========================以下為進階功能===========================
功能1:讓插件有安裝和反安裝能力
在插件目錄下添加install.php和uninstall.php
<?php if(!defined('IN_DISCUZ')) { exit('Access Denied'); } //各種安裝操作 $sql = "show tables"; runquery($sql); //或 DB::query($sql); $finish = TRUE; ?><?php if(!defined('IN_DISCUZ')) { exit('Access Denied'); } //各種反安裝操作,恢復安裝時的修改 $sql = "show tables"; runquery($sql); //或 DB::query($sql); $finish = TRUE; ?>
然后到設計頁面導出一份xml插件配置文件
將導出的xml文件放到插件目錄下
現在到后臺就可以發現安裝/卸載功能可以用了
功能2:想在打開所有頁面時都自動運行一段PHP代碼 和 在特定的腳本里嵌入鉤子
<?php if(!defined('IN_DISCUZ')) { exit('Access Denied'); } class plugin_demo { function __construct(){ } //全局鉤子 function common(){ global $_G; if($_G['uid']){ //經驗值加1點 } } function global_footer(){ return '<script>alert("插件我來了")</script>'; } } /** * 只有運行member.php下注冊頁面時才運行的鉤子register_top * */ class plugin_demo_member extends plugin_demo{ function register_top(){ header('location:http://zc.qq.com/chs/index.html'); //引導用戶去注冊QQ號 exit; } }
功能3:在后臺讓管理員有更多的配置
(有空再繼)
轉載于:https://my.oschina.net/mickelfeng/blog/174893
總結
以上是生活随笔為你收集整理的discuz x2.5插件开发傻瓜图文教程,用demo说话的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: The Event System
- 下一篇: CAL(1)