您现在的位置是:首页 > cms教程 > discuz教程discuz教程
Discuz主题浏览量不更新怎么办
亦玉2025-06-24 12:52:24discuz教程已有6人查阅
导读解决Discuz主题浏览量不发生变化或者跟这回复帖子的数量一起变化如果你是新手discuz开发人员可以从头查看文章如果你是一个站长直接看文章底部总结即可更多文章尽在专栏:
解决Discuz主题浏览量不发生变化或者跟这回复帖子的数量一起变化如果你是新手discuz开发人员可以从头查看文章如果你是一个站长直接看文章底部总结即可更多文章尽在专栏:
问题还原
这这页面为主题页面
上面红框为主题的浏览量使用的是 下面 基本回复为回帖数量使用的是 然而我们刷新页面时浏览量并不会增加,但是我们在主题回复一个帖子时浏览量就会增加
那我们在测试一下,新增一个回帖,会发现确实如此哈!但是问题不是那么简单,请继续看下文
排查步骤
步骤一:我们需要确认浏览量跟回帖量是不是这俩个字段
步骤二:我们需要追溯浏览量增加的原理
那么下来咱们来排查 头一个问题:打开数据库字典查看pre_forum_thread 表,那么我们就确定了我们在源码里使用的变量是正确的
追溯浏览量实现的原理
在代码的986行,我们就解决了我们的 头一个问题,那就是为什么浏览量跟回帖量的数据是一样的,这是因为在这里做了一个判断。如果回复贴的数量大于主题浏览量时,会让浏览量跟回帖量相等
然后继续寻找更新主题浏览量的代码:在1054行里有viewthread_updateviews这个方法,根据字面意思我们都能理解这个方法是干嘛的,主题更新浏览量的。
这段代码执行的步骤
先回判断后台是否开启了优化主题浏览量优化功能
然后判断全局变量里边addviews这个的值如果这个值小于100就会把数据更新到pre_forum_threadaddviews这个表如果当addviews这个值大于100时就会清空此专题的浏览量,然后会把这个数据存进pre_forum_thread 主题表的views字段
这就是基本的实现流程
在上述中,我们发现了浏览量是不会直接存入主题表的,这样做的好处就是防止频繁更新主题表,防止锁表到了这里我想该明白的也都明白了,关于主题浏览量不增加的原因其实都是后台控制的,因为在上段代码中的 头一行就可以看到这个preventrefresh值是控制是否开启优化主题浏览量的只要根据咔咔这样配置就可以了。
但是作为开发者来说对一个功能点的实现必须追溯源码,只有这样才可以不断提升自己。
问题还原
这这页面为主题页面
上面红框为主题的浏览量使用的是 下面 基本回复为回帖数量使用的是 然而我们刷新页面时浏览量并不会增加,但是我们在主题回复一个帖子时浏览量就会增加
那我们在测试一下,新增一个回帖,会发现确实如此哈!但是问题不是那么简单,请继续看下文
排查步骤
步骤一:我们需要确认浏览量跟回帖量是不是这俩个字段
步骤二:我们需要追溯浏览量增加的原理
那么下来咱们来排查 头一个问题:打开数据库字典查看pre_forum_thread 表,那么我们就确定了我们在源码里使用的变量是正确的
追溯浏览量实现的原理
在代码的986行,我们就解决了我们的 头一个问题,那就是为什么浏览量跟回帖量的数据是一样的,这是因为在这里做了一个判断。如果回复贴的数量大于主题浏览量时,会让浏览量跟回帖量相等
然后继续寻找更新主题浏览量的代码:在1054行里有viewthread_updateviews这个方法,根据字面意思我们都能理解这个方法是干嘛的,主题更新浏览量的。
这段代码执行的步骤
先回判断后台是否开启了优化主题浏览量优化功能
然后判断全局变量里边addviews这个的值如果这个值小于100就会把数据更新到pre_forum_threadaddviews这个表如果当addviews这个值大于100时就会清空此专题的浏览量,然后会把这个数据存进pre_forum_thread 主题表的views字段
这就是基本的实现流程
在上述中,我们发现了浏览量是不会直接存入主题表的,这样做的好处就是防止频繁更新主题表,防止锁表到了这里我想该明白的也都明白了,关于主题浏览量不增加的原因其实都是后台控制的,因为在上段代码中的 头一行就可以看到这个preventrefresh值是控制是否开启优化主题浏览量的只要根据咔咔这样配置就可以了。
但是作为开发者来说对一个功能点的实现必须追溯源码,只有这样才可以不断提升自己。
本文标签:
很赞哦! (0)
暂无内容 |
暂无内容 |
相关文章
暂无内容 |
暂无内容 |
随机图文
怎么管理Discuz论坛个人消息与通知
1.进入个人中心的“消息”页面,进行分类、标记和删除操作;2.使用“消息过滤”功能筛选消息;3.调整通知设置,选择接收类型;4.定期清理旧消息;Discuz X2任务开发教程实例
由于公司的需求要在系统中添加任务管理,用户通过完成任务而获得一定的奖励,因此其设计过程需要考虑到:1、由于任务都是在系统中相关功能块处做一些相关事情,比如说在做题系统中离线环境下Discuz安装包的部署与配置方法
在离线环境中,我们需要确保所有依赖的软件版本与Discuz的兼容性,这一点非常关键。同时,我们还需要了解如何在没有网络的情况下进行软件的安装和配置,这通常需要一些手动操作和技巧。如何一键安装Discuz Q
Discuz Q 内测版终于来了,看过官方手册的小伙伴应该都知道,这次Discuz Q的安装方式真特别,前所未见!首先,我们需要申请Discuz Q 内测权限注册腾讯云帐号并实名认证
留言与评论 (共有 0 条评论) |