Dedecms限制栏目列表生成的最大页数

Dedecms默认并没有这个设置项,修改这个设置主要有二个目的:

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

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

  具体的设置方法为:

  在系统->站点设置中添加一个新的变量,变量名称:cfg_listmaxpage,变量说明:栏目生成列表最大页数,变量值:5(可以值可以自己修改)。

  然后找到文件/include/arc.listview.class.php,找到CountRecord()函数的定义处,在最后有这样一行代码:

  $this->TotalPage = ceil($this->TotalResult/$this->PageSize);

  在这行代码的前面(注意,是前面,不是后面!),加上这样一行:

  $this->TotalResult = max($this->PageSize * $GLOBALS["cfg_listmaxpage"], $this->TotalResult);

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