位置: IT常识 - 正文

Discuz主题浏览量实现原理和不更新的解决方案(discuz 首页设置)

编辑:rootadmin
解决Discuz主题浏览量不发生变化或者跟这回复帖子的数量一起变化,如果你是新手discuz开发人员可以从头查看文章,如果你是一个站长直接看文章底部总结即可。

推荐整理分享Discuz主题浏览量实现原理和不更新的解决方案(discuz 首页设置),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:discuz默认版块主题论坛发帖,discuz查看访问量,discuz设置教程,discuz默认版块主题论坛发帖,discuz 主题,discuz 主题,discuz主题模板,discuz 主题,内容如对您有帮助,希望把文章链接给更多的朋友!

本文主要内容:

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

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

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

更多文章尽在专栏:Discuz专栏

问题还原

这这页面为主题页面

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

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

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

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

排查步骤

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

Discuz主题浏览量实现原理和不更新的解决方案(discuz 首页设置)

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

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

追溯浏览量实现的原理

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

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

这段代码执行的步骤

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

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

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

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

这就是基本的实现流程

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

总结

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

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

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

本文链接地址:https://www.jiuchutong.com/zhishi/304518.html 转载请保留说明!

上一篇:python如何实现图像等比缩放(python的图)

下一篇:使用多线程让Python应用飞起来(多线程并发python)

  • 什么情况下要交环保税
  • 超标准能按小规模纳税人标准纳税吗?
  • 超过库存现金限额的现金要及时存入银行
  • 收支平衡表excel怎么做
  • 库存商品属于资产类会计科目吗
  • 固定资产加速折旧税收优惠政策
  • 股权投资基金账户有监管吗
  • 建筑服务专用发票需要进项吗
  • 运输过程中的货损责任
  • 增值税采用零税率政策的内容
  • 事业编制公考
  • 盘亏存货需要进项税额转出吗
  • 收到货款定金计入哪里
  • 公司更名期间账户可以使用吗?
  • 企业进行股票买入的条件
  • 船舶吨税范围
  • 奖金部分
  • 超市的商品进销表怎么做
  • 进项税留抵需要转出吗
  • 应付账款转营业外收入需要什么条件
  • 出差人什么意思
  • 投资者与被投资者的名人
  • 社保退回的钱怎么做会计分录
  • windows更新下载的文件在哪
  • 物业专项维修资金可以退还吗
  • php 字符串 数组
  • 增值税一般纳税人和小规模纳税人的区别
  • 无形资产出租的账务处理
  • 小规模纳税人的企业所得税税率
  • php如何运行脚本
  • 直接转销法账务处理
  • 财务人员应计入什么科目
  • 德比郡在哪
  • 企业常用的消毒措施有
  • 增值税不允许抵扣计入什么科目
  • 金融企业的贷款准备金
  • vue.js mvvm
  • 一借多贷的会计分录格式
  • php签到功能思路
  • vue3 hooks实现
  • axios是干嘛的
  • sysstat命令
  • 原始凭证一般没有
  • 车辆购置税是税前还是税后
  • 利息收入的纳税调整
  • 门锁开票的服务名称编码
  • 补开上年发票的税务处理要怎么做?
  • mysql如何判断日期是周末
  • MYSQL explain 执行计划
  • 净利润弥补以前年度亏损
  • 自然人税收管理系统扣缴客户端官网
  • 未确认融资费用摊销额怎么计算
  • 总结一周内学习的Sql经验(一)
  • 股东权益合计是所有者权益总和么
  • 销售商品房适用的增值税税率是多少
  • 维修设备增值税税率
  • 营改增土地出让金抵减销售额如何做账及申报纳税的...
  • 增值税计入固定资产的成本吗
  • 车辆保险费计入现金流量表哪里
  • 应付职工社会保险费计入什么科目
  • 工程费用科目
  • 单位购入车辆能抵扣吗
  • mac下安装anaconda
  • 安装win8一直卡在转圈圈
  • mac插hdmi没画面
  • Winpack.exe - Winpack是什么进程
  • linux系统磁盘管理的主要内容
  • ubuntu系统如何设置永不休眠
  • win8隐藏任务栏怎么恢复
  • 如何配置无线网络路由器
  • win7英文输入法
  • win8怎么打开桌面
  • cocos2dx适配
  • android studio string函数
  • node.js连接mysql数据库的方法有哪些
  • 用python绘制一条直线
  • 河南省出租车网
  • 发票 报销流程
  • 中国地税国税
  • 告知承诺和非告知承诺
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设