dedecms添加文章时避免添加重复文章插件

2021-07-29 0 5,864

文章介绍

DedeCMS文章类网站,一直有个让人头痛的问题:就是添加文章很容易添加到重复的,也就是之前添加过了,等过了一段时间又添加一篇,加文章大多数是从不同的网站复制添加的,所以很容易所到这个问题,就拿织梦58来说近200个栏目、几万的文章数据,添加重复的机率更大了,为角解决dedecms添加文章时重复内容,于是就有了以下内容

不得不说下dedecms自带的检测标题是否重复基本上毫无用处,“提示:系统已经存在标题为 'xxx' 的文档”,该提示只会在标题文本100%匹配的情况下才会出现,现在收集的文章多数都是内容相同标题却是伪原创了的,所以说根本匹配不了,下面就介绍下织梦58实现的方法吧,不算很好将就能用

第一步:加载jQuery文件

打开/dede/article_add.htm在<head>后面添加jQuery库

 
1
<script type="text/javascript" src="/images/js/j.js"></script>

这个jQuery库是1.2的,很老的版本了,你可以直接去官网下载较新的版本

第二步:添加一些div和js

在第二个</form>的前面添加

 

1
<span id="checkArcRepeatedTips"></span>
2
<div style="margin:10px;"><label for="checkArcRepeated"><input type="checkbox" id="checkArcRepeated" checked="checked" />检测内容是否有重复</label></div>
3
<input name="imageField" id="imageFieldBtn" type="image" src="images/button_save.gif" width="60" height="22" class="np" border="0"  style="cursor:pointer; display:none;"/>
4
<input type="button" value="保存" id="checkArcRepeatedBtn" style=" width:150px; height:; line-height:30px; background:green; font-size:14px; font-weight:bold; color:#fff; padding:10px; cursor:pointer;" />
01
<script type="text/javascript">
02
$(function(){
03
            $('#checkArcRepeatedBtn').click(function(){
04
                if($('#title').val() == ''){
05
                    alert('标题不能为空');
06
                    return false;
07
                }
08
                if($('#typeid').val() == '' || $('#typeid').val() == 0){
09
                    alert('请选择栏目');
10
                    return false;
11
                }
12
                if($('#checkArcRepeated').attr('checked') != ''){
13
                    var range =  ue.selection.getRange();
14
                    range.select();
15
                    var checkWord =  ue.selection.getText();
16
                    if(!checkWord){
17
                        alert('请随机选择一段文本进行文章重复检测');
18
                        isRepeat = true;
19
                        return false;
20
                    }else{
21
                        $.ajax({
22
                            type: 'get',
23
                            url: 'checkArcRepeated.php?checkWord='+checkWord,
24
                            async: false,
25
                            beforeSend: function(){
26
                                $('#checkArcRepeatedTips').text('请稍候...');
27
                            },
28
                            success: function(data){
29
                                if(data == 'ok'){
30
                                    //ue.execCommand("insertHtml",checkWord+qmtx3Node)
31
                                    $('#checkArcRepeated').removeAttr('checked');
32
                                    $('#checkArcRepeatedTips').html(w);
33
                                    //$('#imageFieldBtn').trigger('click');
34
                                    isRepeat = false;
35
                                }else{
36
                                    isRepeat = true;
37
                                    $('#checkArcRepeatedTips').html(data);
38
                                }
39
                                 
40
                            }
41
                        });
42
                    }
43
                    if(isRepeat == false){
44
                        $('#imageFieldBtn').trigger('click')
45
                    }
46
                    return false;
47
                }else{
48
                    $('#imageFieldBtn').trigger('click');
49
                }
50
            });
51
     
52
});
53
</script>
 

第三步:删除多于的代码


   


   

删除

1
<input name="imageField" type="image" src="images/button_save.gif" width="60" height="22" class="np" border="0"  style="cursor:pointer;"/>

Tips:有以上代码有两处

删除

01
if(document.form1.title.value=='')
02
{
03
    alert('文章标题不能为空!');
04
    return false;
05
}
06
if(document.form1.typeid.value==0)
07
{
08
    alert('请选择档案的主类别!');
09
    return false;
10
}

第四步:新建php文件

在/dede/目录新建一个php文件,命名为checkArcRepeated.php,复制粘贴以下代码保存

 
01
<?php
02
/**
03
 * 检测重复文档
04
 *
05
 * @version        2013-6-5 Aniu QQ:2655101040 $
06
 * @link           http://www.dede58.com
07
 */
08
require_once(dirname(__FILE__)."/config.php");
09
$checkWord = $_GET['checkWord'];
10
$aid = $_GET['aid'];
11
if(empty($checkWord) || $cfg_check_title=='N'){
12
    echo '检测功能未开启或者所选文本为空,请联系';
13
    exit;
14
}
15
$where = ' and main.arcrank>-1 and main.id=addon.aid';
16
if(!empty($aid)){
17
    $where .= ' and aid <>'.$aid;   
18
}
19
$sql = "SELECT aid FROM dede_addonarticle addon, dede_archives main WHERE body LIKE '%".$checkWord."%'".$where;
20
$row = $dsql->GetOne($sql); 
21
if(is_array($row)){
22
    echo '<a style="color:red;" href="article_edit.php?aid='.$row['aid'].'" target="_blank">编辑文章</a>  <a style="color:red;" href="../plus/view.php?aid='.$row['aid'].'" target="_blank">前台预览</a>';
23
}else{
24
    echo 'ok';
25
}

使用方法:在添加文章时,随机选择文章内容,选择时注意不要选择有格式的文字,比如加粗、字体大小颜色什么的,反正选择纯文本就好,然后点击保存按钮,这里程序会根据你所选择的内容查找之前添加过的文章有没有包含该段文字的,如果有的话会提示重复,你可以预览或者编辑该重复文章,如果没有重复程序会自动提交并保存文章

到这里dedecms避免添加重复文章的工具就差不多了,有两点需要说下,该工具获取编辑器内选中的文本是以百度编辑器API为基础的,如果你的dedecms没有整合百度编辑器,你可以查看之前织梦58写的:dedecms整合百度编辑器(Ueditor)一(基本整合)非要用dedecm自带的编辑器应该也是可以的,你可以去官网查看API

最后来一张图吧

收藏 (0) 打赏

您的支持是我们前进最大的动力!

打开微信扫一扫,即可进行扫码打赏哦
点赞 (0)

本站声明: 根据2013年1月30日《计算机软件保护条例》2次修订第17条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬,鉴于此,也希望大家遵守相关法律法规使用、研究软件。 1、本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解。 2、下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。 3、站内资源均来源于网络公开发表文件或网友投稿发布,如侵犯您的权益,请联系管理员处理。 4、本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用,如有链接无法下载、失效或广告,请联系客服处理。 5、所有资源均收集于互联网仅供学习、参考和研究,请理解这个概念,所以不能保证每个细节都符合你的需求,也可能存在未知的BUG与瑕疵,因本站资源均为可复制品,所 以不支持任何理由的退款兑现,请熟知后再下载。

彤彤模板团 织梦CMS教程 dedecms添加文章时避免添加重复文章插件 https://www.xiaoyuerqingfen.cn/5720.html

一家有态度的精品资源分享平台

常见问题
  • 模板团承诺演示效果图均和网站95%一样,并且我们的模板和数据都没有留后门,请放心使用。
查看详情
  • 因为模板具有可复制性和可传播性,模板一旦发货,非质量问题,不支持退换;所以务必请您一定看清楚后再购买。
查看详情

相关文章

评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    资源总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

开通会员,尊享海量资源下载特权