·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

discuz x3插件开发傻瓜图文教程,用demo说话---经典

350 2
发表于 2023-4-21 19:48:44 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
此demo功能是在模板footer部位插入一段javascript代码,这段代码可以是alert提示,也可以是加载广告等等。
第一步:

在config\config_global.php 文件里设置$_config['plugindeveloper'] = 1 如果没这个变量自己加一行。顾名思义,开启插件开发模式,开启后后台会多出现些菜单。
第二步

打开DZ后台->应用->设计新插件,并填入下图信息
discuz x3插件开发傻瓜图文教程,用demo说话---经典 点微,西瓜,it618,可可
点提交后就跳转到了此插件的设置页面
discuz x3插件开发傻瓜图文教程,用demo说话---经典 点微,西瓜,it618,可可
后台页面先另关,后面还要用到。
第三步

到source/plugin/下创建demo目录,在demo目录里创建demo.class.php文件,内容如下
  1. <?php
  2. if(!defined('IN_DISCUZ')) {
  3.         exit('Access Denied');
  4. }
  5. class plugin_demo {
  6.         function __construct(){
  7.         }
  8.         function global_footer(){
  9.                 return '<script>alert("插件我来了")</script>';
  10.         }
  11. }
  12. ?>
复制代码
第四步打开DZ后台->应用->插件,选择“设计”我们刚才创建的demo
discuz x3插件开发傻瓜图文教程,用demo说话---经典 点微,西瓜,it618,可可
在设计页面里点“模块”,添加一行如下图所示
discuz x3插件开发傻瓜图文教程,用demo说话---经典 点微,西瓜,it618,可可
添加完后点“提交”

第五步

打开DZ后台->应用->插件,“启用”我们的插件
discuz x3插件开发傻瓜图文教程,用demo说话---经典 点微,西瓜,it618,可可
启用后到前台去打开个页面看看,是不是执行了js脚本了
discuz x3插件开发傻瓜图文教程,用demo说话---经典 点微,西瓜,it618,可可
如果不灵,在界面->风格管理->更新css缓存后再试下看

=========================以下为进阶功能===========================
功能1:让插件有安装和反安装能力

在插件目录下添加install.php和uninstall.php
    <?phpif(!defined('IN_DISCUZ')) {    exit('Access Denied');}  //各种安装操作$sql = "show tables";runquery($sql);//或DB::query($sql); $finish = TRUE;   ?>
    <?phpif(!defined('IN_DISCUZ')) {    exit('Access Denied');} //各种反安装操作,恢复安装时的修改$sql = "show tables";runquery($sql);//或DB::query($sql);  $finish = TRUE; ?>
  
然后到设计页面导出一份xml插件配置文件
discuz x3插件开发傻瓜图文教程,用demo说话---经典 点微,西瓜,it618,可可
将导出的xml文件放到插件目录下
discuz x3插件开发傻瓜图文教程,用demo说话---经典 点微,西瓜,it618,可可
现在到后台就可以发现安装/卸载功能可以用了

功能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;    }}

源文地址:https://blog.csdn.net/oyzl68/article/details/11094843
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-21 15:14:58 | 查看全部
好的,下面是一个简单的Discuz X3插件开发教程,演示如何在模板的footer部分插入一段JavaScript代码。我们将通过一个简单的Demo来实现这个功能。

### 第一步:开启插件开发模式

首先,你需要在 `config/config_global.php` 文件中设置 `$_config['plugindeveloper'] = 1;`。如果这个变量不存在,你可以手动添加这一行。这个设置会开启Discuz的插件开发模式,开启后后台会多出一些菜单选项。

  1. // config/config_global.php
  2. $_config['plugindeveloper'] = 1;
复制代码


### 第二步:创建新插件

1. 登录Discuz后台,进入“应用” -> “设计新插件”。
2. 填写插件的基本信息,例如:
   - 插件名称:Demo插件
   - 插件标识符:demo
   - 版本号:1.0
   - 作者:你的名字
   - 描述:这是一个简单的Demo插件,用于在footer插入JavaScript代码。
3. 点击“提交”按钮,插件创建成功后,会跳转到插件的设置页面。

### 第三步:创建插件文件

1. 在 `source/plugin/` 目录下创建一个名为 `demo` 的文件夹。
2. 在 `demo` 文件夹中创建一个名为 `demo.class.php` 的文件,并添加以下内容:

  1. <?php
  2. if(!defined('IN_DISCUZ')) {
  3.     exit('Access Denied');
  4. }

  5. class plugin_demo {
  6.     public function global_footer() {
  7.         return '<script type="text/javascript">alert("Hello, this is a demo plugin!");</script>';
  8.     }
  9. }
复制代码


### 第四步:安装并启用插件

1. 回到Discuz后台,进入“应用” -> “插件列表”。
2. 找到你刚刚创建的“Demo插件”,点击“安装”按钮。
3. 安装完成后,点击“启用”按钮。

### 第五步:测试插件

1. 打开你的Discuz网站,浏览任意页面。
2. 你应该会在页面的底部看到一个弹出框,显示“Hello, this is a demo plugin!”。

### 解释

- `plugin_demo` 类中的 `global_footer` 方法会在页面的footer部分插入一段JavaScript代码。你可以在这个方法中插入任何你想要的JavaScript代码,比如广告代码、统计代码等。
- `global_footer` 是Discuz的一个钩子(hook),它会在页面的footer部分执行。

### 扩展

你可以根据需要扩展这个插件,比如通过后台设置来控制插入的JavaScript代码内容,或者在不同的页面插入不同的代码。你还可以使用其他钩子来实现更多的功能。

### 参考

- [Discuz插件开发手册](https://addon.dismall.com/library/)

希望这个教程对你有帮助!如果你有更多问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-22 01:54:53 | 查看全部
好的,我来详细解释一下如何在Discuz X3中开发一个简单的插件,实现在模板的footer部位插入一段JavaScript代码的功能。

### 第一步:开启插件开发模式

首先,你需要在 `config/config_global.php` 文件中设置 `$_config['plugindeveloper'] = 1;`。这个设置会开启插件开发模式,开启后,后台会多出一些与插件开发相关的菜单选项。

  1. // config/config_global.php
  2. $_config['plugindeveloper'] = 1;
复制代码


### 第二步:在后台设计新插件

1. 登录Discuz后台,进入“应用” -> “设计新插件”。
2. 填写插件的基本信息,例如:
   - **插件名称**:Demo插件
   - **插件标识符**:demo
   - **插件版本**:1.0
   - **插件描述**:这是一个简单的Demo插件,用于在footer插入JavaScript代码。
   - **作者**:你的名字
   - **版权信息**:你的版权信息

3. 点击“提交”按钮,插件的基本信息就会被保存,并且会跳转到插件的设置页面。

### 第三步:创建插件文件

1. 在 `source/plugin/` 目录下创建一个名为 `demo` 的目录。
2. 在 `demo` 目录下创建一个名为 `demo.class.php` 的文件,文件内容如下:

  1. <?php

  2. if(!defined('IN_DISCUZ')) {
  3.     exit('Access Denied');
  4. }

  5. class plugin_demo {

  6.     public function global_footer() {
  7.         return '<script type="text/javascript">alert("Hello, this is a demo plugin!");</script>';
  8.     }

  9. }
复制代码


### 第四步:启用插件

1. 回到Discuz后台,进入“应用” -> “插件列表”。
2. 找到你刚刚创建的“Demo插件”,点击“启用”按钮。

### 第五步:测试插件

1. 打开你的Discuz网站的前台页面。
2. 在页面的footer部分,你应该会看到一个JavaScript的alert弹窗,提示“Hello, this is a demo plugin!”。

### 代码解释

- `plugin_demo` 类:这是插件的主类,类名必须与插件标识符一致(这里是 `demo`)。
- `global_footer` 方法:这是一个钩子方法,Discuz会在渲染页面的footer部分时调用这个方法。你可以在这个方法中返回你想要插入的HTML或JavaScript代码。

### 扩展功能

如果你想在footer中插入其他JavaScript代码,比如加载广告,你可以修改 `global_footer` 方法中的返回内容。例如:

  1. public function global_footer() {
  2.     return '<script type="text/javascript" src="https://www.example.com/ad.js"></script>';
  3. }
复制代码


这样,你就可以在footer中加载一个外部的JavaScript文件。

### 总结

通过以上步骤,你已经成功创建了一个简单的Discuz插件,并在页面的footer部分插入了一段JavaScript代码。这个插件可以进一步扩展,实现更多复杂的功能。希望这个教程对你有所帮助!如果有任何问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.15.203.168,GMT+8, 2025-4-7 18:17 , Processed in 0.408445 second(s), 77 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表