限制dedecms列表页生成最大页数的方法

  由于用DEDECMS做的网站文章数量多的问题,每添加或采集一篇文章,DEDE自动生成了当前栏目的所有列表页(当然你可以设置手动更新列表页),有些栏目的列表页的数量达到了几百上千页,如果连续采集的话,服务器上CPU使用率居高不下,所以在寻找能不能只生成最新部分的列表页,而旧的列表不理会呢?百度了一下,Dedecms默认并没有这个设置项,修改这个设置主要有二个目的:

  1)防止生成列表时消耗过多的时间,有些大数据量的网站,列表可以达到几千页,生成这些列表是十分耗时的。

  2)防止被采集,如果列表不加以限制,全站的文章都可以被索引到。

  查看了DEDE的源码,得到一个简单的方法,不过是得修改源码的,特发出来。

  修改的文件:Include/arc.listview.class.php

  查找:

  //初始化列表模板,并统计页面总数

  在此句的上面添加一小段代码:

  if($this->TotalResult > 100)

  {

  $this->TotalResult = 100;

  }

  这里的两个50你可以自己改成其它数字,比如你只想生成最新100条文章的列表页,两个50都改成100。

  修改结果,重新生成列表即可看到效果。

  修改前:

限制dedecms列表页生成最大页数的方法

  修改后:

限制dedecms列表页生成最大页数的方法

  以上方法在dede v5.7 UFT8上测试通过。

最近更新

联系我们

188-0666-3235

在线咨询:点击这里给我发消息

邮件:piok@haoshangbang.cn

工作时间:周一至周五,10:00 - 22:00,节假日休息

QR code