top
本文目录
第一步添加变量
第二步修改代码

如何限制DEDECMS栏目列表页生成的最大页数

DEDECMS默认的栏目表页是生成所有文章列表,这样的话,栏目的所有列表页都会展示,如果有人采集的话,栏目所有的文章都能全部被采集搬走。我们直接给他设置列表页只显示3页。那么,采集的也就只能采集3页的内容。这样就能很好的保护内容被全部搬走。下面就是设置教程。

第一步添加变量

打开网站后台:系统-站点设置中添加一个新的变量,

变量名称:cfg_listmaxpage,

变量值:3(可以值可以自己修改)。

变量类型:数字

变量说明:栏目生成列表最大页数

所属组:选择其他选项

然后保存变量。

第二步修改代码

打开/include/arc.listview.class.php文件

搜索

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

大约在268行,在他上面添加下面代码:

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

如下图所示

这段代码的作用是将总记录数限制为配置的最大页数乘以每页显示的记录数,从而控制总页数不超过设定的最大值,然后保存。

然后清除缓存,如果列表页是生成静态的HTML的,就需要重新生成。

上面只是一种方法,还有一种就是添加跟上面步骤差不多,只不过修改文件添加的代码不一样,打开/include/arc.listview.class.php文件

搜索:初始化列表模板,并统计页面总数

大约在225行,在它上面添加

if($this->TotalResult > 100)
{
$this->TotalResult = $GLOBALS["cfg_listmaxpage"];
}

这个是通过文章的数量控制页面生数量,如果一页文章数量为10篇,100篇文章即生成10页。

收工。

THE END
icon
0
icon
打赏
icon
分享
icon
二维码
icon
海报