在使用DEDECMS(织梦CMS)进行内容管理时,后台虽然提供了重复检测功能,但在实际操作中,即使文章标题重复,仍然可以成功添加。这显然无法满足一些用户对于杜绝重复内容的需求。因此,我们可以通过修改代码,在点击保存文章按钮之前增加一个检测重复文档的功能。

具体实现步骤如下:

首先,打开 /dede/article_add.php 文件。

然后,在文件中找到以下代码:


if(empty($click)) $click = ($cfg_arc_click=='-1' ? mt_rand(50, 200) : $cfg_arc_click);
    

在其下方添加以下代码片段:


if($cfg_mb_cktitle=='Y') {
    $row = $dsql->GetOne("Select * From `inyhow_archives` where title like '$title' ");
    if(is_array($row)) {
        ShowMsg("对不起,请不要发布重复文档!", "-1");
        exit();
    }
}
    

以上代码的作用是:当系统配置中的 $cfg_mb_cktitle 参数设置为 'Y' 时,程序会在保存文章前检查数据库中是否已经存在相同标题的文章。如果发现重复内容,则会弹出提示信息“对不起,请不要发布重复文档!”,并终止当前操作。

完成上述修改后,保存文件即可。接下来,当你尝试添加与已有文章标题完全相同的文档时,系统将自动拦截,并显示提示信息,从而有效避免重复内容的产生。

这种优化方式不仅提升了系统的严谨性,还帮助管理员更高效地管理网站内容,减少不必要的重复工作。同时,通过自定义代码的方式,也展示了DEDECMS灵活可扩展的特点。

注意:在修改核心文件之前,请确保备份原始文件,以便在出现问题时能够快速恢复。