在为单位修改一个基于Dedecms CMS的网站时,我遇到了一个有趣的问题。这个网站原本有7000多篇文章,为了清理数据,我直接执行了一条SQL语句将这些文章删除。然而,问题随之而来——后台的文章分页仍然显示着原有的数量,这显然是不正确的。下面是一张错误的截图:
其实,这个问题是Dedecms CMS 5.7版本中的一个已知Bug。幸运的是,修复方法非常简单。接下来,我将详细介绍如何解决这个问题。
首先,找到根目录下的/dede/content_list.php文件,并打开它。然后,在文件中找到以下代码段:
你可以通过搜索“缓存处理”来快速定位这段代码。
接下来,将红框中的代码替换为以下内容:
$arr = $dsql->GetOne("Select count(*) as dd From `zmb_arctiny` $tinyQuery ");
$totalresult = $arr['dd'];
完成修改后,保存文件并上传到服务器。
最后一步,登录到Dedecms后台,更新一下缓存。再次检查文章分页是否恢复正常。如果一切顺利,问题应该已经解决了!
总结一下,这个问题的根本原因在于Dedecms CMS 5.7版本对文章数量的统计存在缓存机制上的Bug。通过修改核心文件中的代码逻辑,我们可以有效避免这一问题的发生。
希望这篇文章能帮助到遇到同样问题的朋友。如果你还有其他关于Dedecms CMS的疑问,欢迎随时留言交流!