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

X3.4 版本关于@用户 功能,在一个贴子里,如果多次@同一人,只会收到一次提醒,希望能每次都收到提醒,要如何做? New

103 2
发表于 2025-1-17 15:34:02 | 查看全部 阅读模式

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

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

×
版本如下:
X3.4 版本关于@用户 功能,在一个贴子里,如果多次@同一人,只会收到一次提醒,希望能每次都收到提醒,要如何做?
New
 提醒,收到,一人,贴子,如果


在一个贴子里,两次at同一人,其实这里显示就很奇怪,第一次时这个是有链接的,第二次就是纯文。
X3.4 版本关于@用户 功能,在一个贴子里,如果多次@同一人,只会收到一次提醒,希望能每次都收到提醒,要如何做?
New
 提醒,收到,一人,贴子,如果
X3.4 版本关于@用户 功能,在一个贴子里,如果多次@同一人,只会收到一次提醒,希望能每次都收到提醒,要如何做?
New
 提醒,收到,一人,贴子,如果 X3.4 版本关于@用户 功能,在一个贴子里,如果多次@同一人,只会收到一次提醒,希望能每次都收到提醒,要如何做?
New
 提醒,收到,一人,贴子,如果

然后切换到“力行”,看到只收到一次提醒:
X3.4 版本关于@用户 功能,在一个贴子里,如果多次@同一人,只会收到一次提醒,希望能每次都收到提醒,要如何做?
New
 提醒,收到,一人,贴子,如果
X3.4 版本关于@用户 功能,在一个贴子里,如果多次@同一人,只会收到一次提醒,希望能每次都收到提醒,要如何做?
New
 提醒,收到,一人,贴子,如果


如果人肉第第2次那个内容修改成第1次一样,发现显示跟第1次一样了,但是提醒还是没有,要怎么能收到2次提醒呢?
我知道答案 回答被采纳将会获得1 贡献 已有0人回答
我要说一句 收起回复

评论2

AI智能体Lv.7 发表于 2025-3-16 22:32:10 | 查看全部
在Discuz! X3.4版本中,默认情况下,@用户功能在一个帖子中多次@同一用户时,只会触发一次提醒。这是因为系统为了避免重复提醒,对同一个帖子中的多次@同一用户进行了去重处理。

如果你希望每次@同一用户时都能触发提醒,可以通过修改Discuz!的源代码来实现。以下是具体的修改步骤:

### 1. 找到相关代码
首先,你需要找到处理@用户提醒的代码部分。通常,这部分代码位于`source/class/class_core.php`或`source/function/function_post.php`中。

### 2. 修改去重逻辑
在找到相关代码后,你需要修改去重逻辑。通常,系统会使用一个数组来存储已经@过的用户ID,并在每次@时检查该数组。你可以通过移除或修改这部分逻辑来实现每次@都触发提醒。

例如,假设你找到了以下代码片段:

  1. if (!in_array($uid, $at_uids)) {
  2.     $at_uids[] = $uid;
  3.     // 发送提醒
  4. }
复制代码


你可以将其修改为:

  1. $at_uids[] = $uid;
  2. // 发送提醒
复制代码


这样,每次@用户时都会触发提醒,而不再进行去重检查。

### 3. 测试修改
修改完成后,保存文件并上传到服务器。然后,在论坛中测试@用户功能,确保每次@同一用户时都能收到提醒。

### 4. 处理显示问题
你提到在帖子中多次@同一用户时,第二次@的显示有问题。这可能是因为模板或JavaScript代码对重复的@进行了处理。你可以检查模板文件(通常是`template/default/forum/viewthread.htm`)和相关的JavaScript代码,确保每次@都能正确显示为链接。

### 5. 注意事项
- 修改源代码可能会影响系统的稳定性,建议在修改前备份相关文件。
- 如果你不熟悉PHP和Discuz!的代码结构,建议在开发环境中进行测试,确保修改不会引入新的问题。
- 如果你使用的是第三方插件或模板,可能需要检查这些插件或模板是否对@用户功能进行了额外的处理。

通过以上步骤,你应该能够实现每次@同一用户时都触发提醒的功能。如果你在修改过程中遇到任何问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-19 14:52:49 | 查看全部
在Discuz X3.4版本中,默认情况下,@用户功能在同一个帖子中多次@同一用户时,只会触发一次提醒。这是因为系统设计上为了避免重复提醒,减少对用户的打扰。如果你希望每次@同一用户时都能触发提醒,可以通过修改代码来实现。

### 解决方案:

1. **找到相关代码文件**:
   你需要找到处理@用户提醒的代码文件。通常情况下,这部分代码位于 `source/class/class_core.php` 或 `source/function/function_discuzcode.php` 中。

2. **修改提醒逻辑**:
   在代码中找到处理@用户提醒的部分,通常会有一个条件判断来检查是否已经提醒过该用户。你可以通过修改这个条件判断,使得每次@用户时都触发提醒。

   例如,找到类似以下的代码:

  
  1. if(!in_array($uid, $atlist)) {
  2.        // 发送提醒
  3.        $atlist[] = $uid;
  4.    }
复制代码


   你可以将其修改为:

  
  1. // 直接发送提醒,不检查是否已经提醒过
  2.    // 发送提醒
  3.    $atlist[] = $uid;
复制代码


   这样,每次@用户时都会触发提醒。

3. **保存并测试**:
   修改完成后,保存文件并上传到服务器。然后你可以在论坛中测试,看看是否每次@同一用户时都能收到提醒。

### 注意事项:
- 修改代码前,请务必备份相关文件,以防止修改错误导致系统无法正常运行。
- 如果你不熟悉代码修改,建议在测试环境中进行修改和测试,确保修改不会影响论坛的正常运行。
- 如果你使用的是第三方插件或模板,可能需要检查插件或模板中是否有相关的代码覆盖了默认的@用户功能。

通过以上步骤,你应该能够实现每次@同一用户时都触发提醒的功能。如果你在修改过程中遇到任何问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

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

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

discuzaddons@vip.qq.com

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

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

您的IP:216.73.216.212,GMT+8, 2025-6-15 09:08 , Processed in 0.197573 second(s), 87 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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