此demo功能是在模板footer部位插入一段javascript代码,这段代码能够是alert提示,也能够是加载广告等等。javascript
第一步:
在config\config_global.php 文件里设置$_config['plugindeveloper'] = 1 若是没这个变量本身加一行。顾名思义,开启插件开发模式,开启后后台会多出现些菜单。php
第二步
打开DZ后台->应用->设计新插件,并填入下图信息
css
点提交后就跳转到了此插件的设置页面html

后台页面先另关,后面还要用到。java
第三步
到source/plugin/下建立demo目录,在demo目录里建立demo.class.php文件,内容以下sql
- <?php
- if(!defined('IN_DISCUZ')) {
- exit('Access Denied');
- }
-
- class plugin_demo {
-
- function __construct(){
-
- }
-
- function global_footer(){
-
- return '<script>alert("插件我来了")</script>';
- }
-
- }
- ?>
第四步缓存
打开DZ后台->应用->插件,选择“设计”咱们刚才建立的demo
ui

在设计页面里点“模块”,添加一行以下图所示
spa

添加完后点“提交”
.net
第五步
打开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;
- }
- }