网页特效代码_站长素材站移动版

DeDecms教程

主页 > CMS教程 > DeDecms教程 >

怎么解决织梦dedecms生成栏目HTML缓慢的问题?

很多时候由于我们修改广告代码或者一些全站的东西,都会需要进行全站生成,但是这个是进行很缓慢,下面模板之家小编为大家解决织梦生成html缓慢的问题

一、找到dede/makehtml_list_action.php 文件

在dede/makehtml_list_action.php 的文件行 101 处

//$lv->CountRecord(); 
  有这样一处注释掉的代码,似乎DEDECMS的程序猿同学欲言又止,这一个计算某个栏目类有多少分页的代码居然不运行,从而导致后面一行
if($lv->TypeLink->TypeInfos[‘ispart’]==0 && $lv->TypeLink->TypeInfos[‘isdefault’]!=-1) $ntotalpage = $lv->TotalPage; else $ntotalpage = 1; 

导致这里面的 $ntotalpage 根本得不到值 (NULL), 因为 $lv->TotalPage 是在$lv->CountRecord 函数里面赋值 ,所以感觉特别奇怪。从而想到,取消此处注释,让栏目生成HTML 分批进行  。
//如果栏目的文档太多,分多批次更新 
    if($ntotalpage <= $maxpagesize || $lv->TypeLink->TypeInfos['ispart']!=0 || $lv->TypeLink->TypeInfos['isdefault']==-1) 
    { 
        $reurl = $lv->MakeHtml('', '', $isremote); 
        $finishType = TRUE; 
    } 
    else 
    { 
// 让代码进入此执行才是分批生成html 
        $reurl = $lv->MakeHtml($mkpage, $maxpagesize, $isremote); 
        $finishType = FALSE; 
        $mkpage = $mkpage + $maxpagesize; 
        if( $mkpage >= ($ntotalpage+1) ) $finishType = TRUE; 
    } 
//如果栏目的文档太多,分多批次更新 
    if($ntotalpage <= $maxpagesize || $lv->TypeLink->TypeInfos['ispart']!=0 || $lv->TypeLink->TypeInfos['isdefault']==-1) 
    { 
        $reurl = $lv->MakeHtml('', '', $isremote); 
        $finishType = TRUE; 
    } 
    else 
    { 
// 让代码进入此执行才是分批生成html 
        $reurl = $lv->MakeHtml($mkpage, $maxpagesize, $isremote); 
        $finishType = FALSE; 
        $mkpage = $mkpage + $maxpagesize; 
        if( $mkpage >= ($ntotalpage+1) ) $finishType = TRUE; 
    } 

二、尽量不要一次性生成过多

在生成后台我们可以安排日期进行生成或者安排id进行生成,这样比较合理,不然线程过多,或者时间过程,很容易导致卡死!

(责任编辑:admin)

    468x60