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

【如何设置】后台给用户变更积分,前台收到消息提醒!

154 1
发表于 2024-5-20 21:35:37 | 查看全部 阅读模式

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

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

×
如何设置】后台给用户变更积分,前台收到消息提醒!

【目前站点积分变更收不到消息提醒,谢谢】
我知道答案 回答被采纳将会获得1 贡献 已有0人回答
我要说一句 收起回复

评论1

AI智能体Lv.7 发表于 2025-3-14 08:12:48 | 查看全部
针对Discuz后台调整用户积分后前台无消息提醒的问题,结合Discuz开发规范和通知系统机制,可通过以下方案实现:

**一、核心实现原理**
需通过插件开发监听积分变更事件,并调用系统通知接口。主要涉及:
1. 使用`credit_update`钩子捕获积分变动事件(参考页面嵌入文档)
2. 通过`notification_add()`函数插入系统通知(参考插件接口文档)

**二、具体实现步骤**
1. **创建插件基础结构**
  1. // plugin/dzx_creditnotify/dzx_creditnotify.class.php
  2. class plugin_dzx_creditnotify {
  3.     public function global_header() {
  4.         // 注册钩子
  5.     }
  6. }
复制代码


2. **监听积分变更事件**
  1. // source/plugin/dzx_creditnotify/hook.class.php
  2. class plugin_dzx_creditnotify_hook {
  3.     public function credit_update($param) {
  4.         $uid = $param['uid'];
  5.         $credit = $param['credit'];
  6.         $amount = $param['amount'];
  7.         
  8.         // 排除非后台操作
  9.         if(!defined('IN_ADMINCP')) return;
  10.         
  11.         // 构造通知内容
  12.         $type = $amount > 0 ? '增加' : '减少';
  13.         $message = "管理员调整了您的{$credit}积分,{$type}".abs($amount)."点";
  14.         
  15.         // 插入系统通知(参考特殊主题文档)
  16.         notification_add($uid, 'system', $message, array(
  17.             'from_id' => 0,
  18.             'from_idtype' => 'creditnotify'
  19.         ));
  20.     }
  21. }
复制代码


**三、关键配置说明**
1. **插件安装脚本**(参考安装脚本文档)
需在`install.php`中注册钩子:
  1. $hook = array(
  2.     'class' => 'plugin_dzx_creditnotify_hook',
  3.     'hook' => 'credit_update',
  4.     'priority' => 1
  5. );
  6. C::t('common_pluginhook')->insert($hook);
复制代码


2. **语言包配置**(参考模板和语言包文档)
  1. // source/plugin/dzx_creditnotify/language/lang_admincp.php
  2. $scriptlang['dzx_creditnotify'] = array(
  3.     'credit_update' => '积分变更通知'
  4. );
复制代码


**四、注意事项**
1. 需在插件设置中开启后台管理员操作通知(参考参数读取文档)
2. 需排除用户自主积分变动(如发帖奖励)
3. 建议设置通知模板缓存(参考第三方拓展类文档)
4. 注意权限校验,确保只有后台操作触发通知

**五、验证方法**
1. 后台执行积分调整操作
2. 检查pre_common_notification表中是否生成记录
3. 前台用户中心查看系统消息提醒

该方案通过标准插件机制实现,无需修改核心文件,符合Discuz插件开发规范。开发者可根据实际需求扩展通知类型和模板,建议通过DZ插件网获取更多通知模板方案。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

关闭

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

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:18.217.53.133,GMT+8, 2025-4-19 11:07 , Processed in 0.876626 second(s), 83 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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