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

后台颁发勋章,会员没有消息通知

176 2
发表于 2023-5-2 13:57:27 | 查看全部 阅读模式

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

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

×
后台颁发勋章,会员没有消息通知?
我知道答案 回答被采纳将会获得1 贡献 已有0人回答
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-17 09:12:09 | 查看全部
在Discuz!中,颁发勋章时默认情况下会员是不会收到消息通知的。如果你希望会员在获得勋章时能够收到通知,可以通过以下几种方式来实现:

### 1. 使用插件
你可以通过安装第三方插件来实现颁发勋章时的消息通知功能。在DZ插件网(https://www.dz-x.net/)上搜索相关的插件,可能会有现成的解决方案。

### 2. 自定义开发
如果你有开发能力,可以通过自定义代码来实现这个功能。以下是一个简单的实现思路:

#### 步骤:
1. **修改颁发勋章的代码**:
   找到颁发勋章的相关代码,通常在 `source/admincp/admincp_medals.php` 文件中。

2. **添加消息通知代码**:
   在颁发勋章的代码后面添加发送消息通知的代码。Discuz! 提供了 `notification_add` 函数来发送通知。

   示例代码:
  
  1. // 假设 $uid 是获得勋章的会员ID,$medalname 是勋章名称
  2.    $notification = array(
  3.        'uid' => $uid, // 接收通知的用户ID
  4.        'type' => 'medal', // 通知类型
  5.        'new' => 1, // 新通知
  6.        'authorid' => $_G['uid'], // 发送通知的用户ID
  7.        'author' => $_G['username'], // 发送通知的用户名
  8.        'note' => "恭喜您获得了勋章:{$medalname}", // 通知内容
  9.        'dateline' => TIMESTAMP, // 通知时间
  10.    );
  11.    notification_add($notification);
复制代码


3. **保存并测试**:
   保存修改后的文件,并在后台颁发勋章,检查会员是否收到通知。

### 3. 使用Discuz!自带的通知功能
如果你不想修改代码,也可以通过Discuz!自带的通知功能手动发送通知。在颁发勋章后,手动给会员发送一条系统消息。

### 4. 检查设置
确保Discuz!的通知功能是开启的,并且会员的通知设置中允许接收勋章相关的通知。

### 总结
通过以上方法,你可以实现颁发勋章时会员收到消息通知的功能。如果你不熟悉代码修改,建议使用插件来实现这个功能。如果有其他问题,欢迎继续咨询!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-20 08:01:20 | 查看全部
在Discuz!中,颁发勋章时默认情况下会员是不会收到消息通知的。如果你希望会员在获得勋章时能够收到通知,可以通过以下几种方式来实现:

### 1. 使用插件
你可以通过安装第三方插件来实现颁发勋章时的消息通知功能。在DZ插件网(https://www.dz-x.net/)上搜索相关插件,可能会有现成的解决方案。

### 2. 自定义开发
如果你有一定的开发能力,可以通过自定义开发来实现这个功能。以下是一个简单的实现思路:

#### 步骤1:修改颁发勋章的代码
找到颁发勋章的代码部分,通常位于 `source/admincp/admincp_medals.php` 文件中。在颁发勋章的代码后面添加发送通知的逻辑。

#### 步骤2:添加发送通知的代码
在颁发勋章的代码后面,添加以下代码来发送通知:

  1. // 假设 $uid 是获得勋章的会员ID
  2. // $medalname 是勋章的名称

  3. // 发送通知
  4. $notification = array(
  5.     'uid' => $uid,
  6.     'type' => 'system',
  7.     'new' => 1,
  8.     'authorid' => 0,
  9.     'author' => '',
  10.     'note' => '恭喜您获得了勋章:' . $medalname,
  11.     'dateline' => TIMESTAMP,
  12.     'from_id' => 0,
  13.     'from_idtype' => '',
  14.     'from_num' => 0,
  15. );

  16. C::t('common_notification')->insert($notification);
复制代码


#### 步骤3:更新缓存
在发送通知后,更新会员的通知缓存,以确保通知能够及时显示:

  1. C::t('common_member')->update($uid, array('newprompt' => 1));
复制代码


### 3. 使用Discuz!自带的通知系统
如果你不想修改代码,也可以通过Discuz!自带的通知系统手动发送通知。在颁发勋章后,手动给会员发送一条系统通知。

### 4. 使用模板钩子
你还可以通过模板钩子来实现这个功能。在模板中插入钩子,当颁发勋章时触发钩子并发送通知。

### 总结
通过以上方法,你可以实现颁发勋章时会员收到消息通知的功能。如果你不熟悉代码修改,建议使用插件来实现这个功能。如果你有开发能力,可以通过自定义开发来实现更灵活的功能。

希望这些信息对你有所帮助!如果你有其他问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

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

最新热评 加载中...
AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:216.73.216.102,GMT+8, 2025-6-27 22:28 , Processed in 0.272052 second(s), 76 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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