千家信息网

Discuz主题浏览量实现原理和不更新的方法

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下Discuz主题浏览量实现原理和不更新的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!本文主要内容:
千家信息网最后更新 2026年11月03日Discuz主题浏览量实现原理和不更新的方法

小编给大家分享一下Discuz主题浏览量实现原理和不更新的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

本文主要内容:

解决Discuz主题浏览量不发生变化或者跟这回复帖子的数量一起变化

如果你是新手discuz开发人员可以从头查看文章

如果你是一个站长直接看文章底部总结即可

问题还原

这这页面为主题页面

上面红框为主题的浏览量使用的是$_G[forum_thread][views]

下面全部回复为回帖数量使用的是$_G[forum_thread][replies]

然而我们刷新页面时浏览量并不会增加,但是我们在主题回复一个帖子时浏览量就会增加

那我们在测试一下,新增一个回帖,会发现确实如此哈!但是问题不是那么简单,请继续看下文

排查步骤

  • 第一步:我们需要确认浏览量跟回帖量是不是这俩个字段

  • 第二步:我们需要追溯浏览量增加的原理

那么下来咱们来排查第一个问题:打开数据库字典查看pre_forum_thread 表,那么我们就确定了我们在源码里使用的变量是正确的

追溯浏览量实现的原理

在代码的986行,我们就解决了我们的第一个问题,那就是为什么浏览量跟回帖量的数据是一样的,这是因为在这里做了一个判断。如果回复贴的数量大于主题浏览量时,会让浏览量跟回帖量相等

然后继续寻找更新主题浏览量的代码:在1054行里有viewthread_updateviews这个方法,根据字面意思我们都能理解这个方法是干嘛的,主题更新浏览量的。

这段代码执行的步骤

  • 先回判断后台是否开启了优化主题浏览量优化功能

  • 然后判断全局变量里边addviews这个的值

  • 如果这个值小于100就会把数据更新到pre_forum_threadaddviews这个表

  • 如果当addviews这个值大于100时就会清空此专题的浏览量,然后会把这个数据存进pre_forum_thread 主题表的views字段

  • 这就是基本的实现流程

  • 在上述中,我们发现了浏览量是不会直接存入主题表的,这样做的好处就是防止频繁更新主题表,防止锁表

总结

到了这里我想该明白的也都明白了,关于主题浏览量不增加的原因其实都是后台控制的,因为在上段代码中的第一行就可以看到这个preventrefresh值是控制是否开启优化主题浏览量的

只要根据咔咔这样配置就可以了。

但是作为开发者来说对一个功能点的实现必须追溯源码,只有这样才可以不断提升自己。

以上是Discuz主题浏览量实现原理和不更新的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

浏览量 浏览 主题 更新 回帖 方法 代码 数据 问题 原理 内容 就是 数量 页面 功能 变量 后台 字段 帖子 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海卓越科技互联网 山东特亿宝互联网科技有限公司 互联网科技行业发展 苏州互联网科技贷款公司 广州凡科互联网科技 新华互联网科技校企合作 开启互联网科技时代小说 西藏七维空间互联网科技有限公司 受益于互联网科技的高速发展 互联网媒体平台算高科技产业 本届互联网博览会上的黑科技 用友工业互联网科技发展 互联网企业科技类企业如何做账 江苏互联网科技小贷 全球科技与互联网公司市值变化 北京天晋互联网科技有限公司 安徽零酒互联网科技有限公司 互联网科技创新创业项目 现代互联网科技公司 互联网科技创业计划的风险分析 互联网科技作文 成都互联网科技公司 上海万想互联网科技 互联网科技博客 互联网企业和科技型企业 东莞新华互联网科技学校 保险科技服务互联网营销体系 从那以后互联网科技有限公司 图游互联网科技 青岛易易互联网科技
0