前端技术 手机教程
程序开发 平面动画
系统软件 CMS教程
CMS教程 在线手册
资源下载 网络安全
精准搜索请尝试:精确搜索

DedeCMS后台更新文档HTML时生成的文档数量不全(部分文档不生成)的原因及解决办法

2021-08-12 11:51:37 来源:原创 作者:寂静的神经

最近发现一个 DedeCMS 做的网站,在后台执行 更新文档HTML 功能时,生成的html文档不全,有一部分页面没有生成或者更新。

在生成的时候,没有任何错误提示,生成是执行完毕了,但是查看出问题的部分文档发现文件生成时间没有变化,对模板做出的修改也没有更新。

经过检查发现是 DedeCMS 的一处 bug ,在 /dede/makehtml_archives_action.php 里面的86行的代码:

//如果生成数量大于500,并且没选栏目,按栏目排序生成
if($totalnum > 500 && empty($typeid))
{
    $dsql->Execute('out',"SELECT id FROM `dede_arctiny` $idsql ORDER BY typeid ASC $limitSql");
} else {
    $dsql->Execute('out',"SELECT id FROM `dede_arctiny` $idsql $limitSql");
}

这里如果生成数量如果大于500的话,会根据栏目进行排序同时再结合 limitsql 限制就会导致更新不到全部的文档,有部分文档会被略过。

解决办法就是注销这个判断,直接使用下面的语句。

//直接使用else内的语句
$dsql->Execute('out',"SELECT id FROM `dede_arctiny` $idsql $limitSql");
//注销下面的语句
/*if($totalnum > 500 && empty($typeid))
{
    $dsql->Execute('out',"SELECT id FROM `dede_arctiny` $idsql ORDER BY typeid ASC $limitSql");
} else {
    $dsql->Execute('out',"SELECT id FROM `dede_arctiny` $idsql $limitSql");
}*/

保存文件后,再次重新生成,所有的文档都已经完美生成,原来出问题的文档已经被更新。

本文关键词:dedecms 更新文档

相关文章

零五网,分享IT知识,国内顶级IT知识门户网站。

Copyright (C) www.02405.com, All Rights Reserved.

零五网 版权所有 辽ICP备13002105号-1