在使用Dedecms构建文章类网站时,一个常见的问题是容易重复添加相同的文章内容。这不仅会增加数据冗余,还可能导致用户体验下降。本文将详细介绍如何通过自定义代码解决Dedecms中重复添加文章的问题。



    

首先,我们需要加载jQuery文件以支持后续的脚本功能。

打开 /dede/article_add.htm 文件,在 标签后添加以下代码:



这里使用的jQuery库版本较老(1.2),建议从官网下载最新版本替换。

接下来,在第二个 标签前添加以下HTML和JavaScript代码:



然后,添加相应的JavaScript逻辑来处理重复检测:



删除多余的代码部分,确保页面整洁:



同时删除以下验证代码:


if(document.form1.title.value==''){
    alert('文章标题不能为空!');
    return false;
}
if(document.form1.typeid.value==0){
    alert('请选择档案的主类别!');
    return false;
}

最后,在/dede/目录下新建一个名为checkArcRepeated.php的文件,并添加以下代码:


-1 and main.id=addon.aid';
if(!empty($aid)){
    $where .= ' and aid <> '.$aid;
}
$sql = "SELECT aid FROM dede_addonarticle addon, dede_archives main WHERE body LIKE '%".$checkWord."%'".$where;
$row = $dsql->GetOne($sql);
if(is_array($row)){
    echo '编辑文章 前台预览';
}else{
    echo 'ok';
}

完成以上步骤后,当您在添加文章时,可以通过随机选择纯文本内容并点击“保存”按钮,程序会自动检测是否已存在包含该段文字的文章。如果发现重复内容,系统将提示您可以编辑或预览已有文章;如果没有重复,则会正常提交并保存新文章。

注意:此工具依赖百度编辑器API获取选中文本。如果您使用的是Dedecms自带的编辑器,可能需要查阅相关API文档进行调整。


到这里,我们已经完成了Dedecms避免重复添加文章的功能实现。