织梦20160906更新后栏目空白问题

发布时间:2017-02-20 15:22:28 阅读数:3396

织梦发布了20160906更新,dedecmsv5.7已经很久没有更新了,看到这个更新后心中突然感动强烈的兴奋,虽然早有准备这只是个小小的更新!

 本次更新内容:

dede/makehtml_list_action.php,优化更新列表页速度,建议在后台系统设置[性能选项]中,将“是否启动副栏目”设为“否”
include/arc.listview.class.php,优化更新列表页速度,建议在后台系统设置[性能选项]中,将“是否启动副栏目”设为“否”
include/arc.sglistview.class.php,优化更新列表页速度,建议在后台系统设置[性能选项]中,将“是否启动副栏目”设为“否”

 小编满怀激动的心情点击了在线升级按钮,发布了篇文章试了试,点击栏目一看,栏目空白了!!空白了?揉了揉眼睛睁大看还是空白!此刻的心情是彷徨惊恐的,呼吸接近停止,怎么办?

 技术分析:

include/arc.listview.class.php,打开到302行
 //$this->CountRecord();
 //初步给固定值的标记赋值
 $this->ParseTempletsFirst();
 $totalpage = ceil($this->TotalResult/$this->PageSize);
 if($totalpage==0)
 {
   $totalpage = 1;
 }
 $this->CountRecord();这行代码被注释掉了(前面加了//),也就是说在这里不进行这个栏目的文章数进行统计了,把这行代码放到调用这个类的地方去执行,所以打开dede/makehtml_list_action.php文件看到102行确实加了这个代码
dede/makehtml_list_action.php 第102行 
// 这里统一统计
$lv->CountRecord();

然而dede/makehtml_list_action.php是给后台手工生成文章用的,还有其它地方也应该做相应的修改才行,否则就出现了这次空白问题

解决办法:

 方法一:
include/arc.listview.class.php,第302行 //$this->CountRecord(); 前面的//删除,也就是还原回这次升级前的状态。
 方法二:
 /dede/task_do.php 第157行 即 $lv = new ListView($tid); 后面加一行 $lv->CountRecord();
 如果您安装了采集侠,方法二修改你还需要修改采集侠的文件 /Plugins/apps/CaiJiXia/index.php, 通过编辑器搜索到 $lv = new ListView($tid);这行,也在下面添加 $lv->CountRecord();
 如果您的网站程序是utf-8,请一定不要用记事本修改php文件,推荐notepad++,sublime text
2016-9-28 14:26分更新:我们通知织梦官方后,织梦立即发布了新的更新处理该问题,为织梦点赞!目前直接升级到最新版即可解决该问题
 
页面Trace信息
当前页面 : /article/view?id=43
模板缓存 : /web/www/caijixia.cn/data/Runtime/system/Cache/43c6deff58a769345d769751556cd685.php
请求方法 : GET
通信协议 : HTTP/1.1
请求时间 : 2021-04-18 18:43:16
用户代理 : CCBot/2.0 (https://commoncrawl.org/faq/)
会话ID : c64bh30q8n8pkljc21ac700qs3
日志记录 : 4条日志
[ 2021-04-18T18:43:16+08:00 ] SQL: RunTime:0.000709s SQL = SHOW COLUMNS FROM sys_article
[ 2021-04-18T18:43:16+08:00 ] SQL: RunTime:0.000649s SQL = SELECT id,title FROM `sys_article` WHERE status=1 AND category>0 ORDER BY pv desc LIMIT 40
[ 2021-04-18T18:43:16+08:00 ] SQL: RunTime:0.000275s SQL = UPDATE `sys_article` SET `pv`=pv+1 WHERE id=43
[ 2021-04-18T18:43:16+08:00 ] SQL: RunTime:0.000252s SQL = SELECT * FROM `sys_article` `a`,`sys_content` `c` WHERE a.id=c.aid AND a.id=43 LIMIT 1
加载文件 : 20
[0] => /web/www/caijixia.cn/index.php
[1] => /web/www/caijixia.cn/define.inc.php
[2] => /web/www/caijixia.cn/framework/ThinkPHP.php
[3] => /web/www/caijixia.cn/data/Runtime/system/~runtime.php
[4] => /web/www/caijixia.cn/framework/Common/convention.php
[5] => /web/www/caijixia.cn/system/Conf/config.php
[6] => /web/www/caijixia.cn/config.inc.php
[7] => /web/www/caijixia.cn/system/Common/common.php
[8] => /web/www/caijixia.cn/Common/common.func.php
[9] => /web/www/caijixia.cn/framework/Common/extend.php
[10] => /web/www/caijixia.cn/system/Conf/htmls.php
[11] => /web/www/caijixia.cn/framework/Common/debug.php
[12] => /web/www/caijixia.cn/framework/Lib/Think/Util/Dispatcher.class.php
[13] => /web/www/caijixia.cn/framework/Lang/zh-cn.php
[14] => /web/www/caijixia.cn/framework/Lib/Think/Util/HtmlCache.class.php
[15] => /web/www/caijixia.cn/system/Lib/Action/ArticleAction.class.php
[16] => /web/www/caijixia.cn/framework/Lib/Think/Core/Model.class.php
[17] => /web/www/caijixia.cn/framework/Lib/Think/Db/Db.class.php
[18] => /web/www/caijixia.cn/framework/Lib/Think/Db/Driver/DbMysqli.class.php
[19] => /web/www/caijixia.cn/data/Runtime/system/Cache/43c6deff58a769345d769751556cd685.php