AB模板网:专注于dede模板,织梦源码,织梦模板,网站模板下载,dedecms模板,网站源码,dedecms教程以及各类手机网站模板和企业网站模板分享.

织梦模板

网站模板搜索
营销型模板 政府网站模板 自适应模板 标签大全

注册

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

网站模板下载 www.adminbuy.cn / 2020-09-11
文章介绍
 
用dedecms做文章类网站,一直有个让人头痛的问题:就是添加文章很容易添加到重复的,也就是之前添加过了,等过了一段时间又添加一篇,加文章大多数是从不同的网站复制添加的,所以很容易所到这个问题,就拿AB模板网来说近200个栏目、几万的文章数据,添加重复的机率更大了,为角解决dedecms添加文章时重复内容,于是就有了以下内容
 
不得不说下dedecms自带的检测标题是否重复基本上毫无用处,“提示:系统已经存在标题为 'xxx' 的文档”,该提示只会在标题文本100%匹配的情况下才会出现,现在收集的文章多数都是内容相同标题却是伪原创了的,所以说根本匹配不了,下面就介绍下AB模板网实现的方法吧,不算很好将就能用
 
第一步:加载jQuery文件
打开/dede/article_add.htm在<head>后面添加jQuery库
 
<script type="text/javascript" src="/images/js/j.js"></script>
 
这个jQuery库是1.2的,很老的版本了,你可以直接去官网下载较新的版本
 
第二步:添加一些div和js
在第二个</form>的前面添加
 
<span id="checkArcRepeatedTips"></span>
<div style="margin:10px;"><label for="checkArcRepeated"><input type="checkbox" id="checkArcRepeated" checked="checked" />检测内容是否有重复</label></div>
<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;"/>
<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;" />
<script type="text/javascript">
$(function(){
            $('#checkArcRepeatedBtn').click(function(){
                if($('#title').val() == ''){
                    alert('标题不能为空');
                    return false;
                }
                if($('#typeid').val() == '' || $('#typeid').val() == 0){
                    alert('请选择栏目');
                    return false;
                }
                if($('#checkArcRepeated').attr('checked') != ''){
                    var range =  ue.selection.getRange();
                    range.select();
                    var checkWord =  ue.selection.getText();
                    if(!checkWord){
                        alert('请随机选择一段文本进行文章重复检测');
                        isRepeat = true;
                        return false;
                    }else{
                        $.ajax({
                            type: 'get',
                            url: 'checkArcRepeated.php?checkWord='+checkWord,
                            async: false,
                            beforeSend: function(){
                                $('#checkArcRepeatedTips').text('请稍候...');
                            },
                            success: function(data){
                                if(data == 'ok'){
                                    //ue.execCommand("insertHtml",checkWord+qmtx3Node)
                                    $('#checkArcRepeated').removeAttr('checked');
                                    $('#checkArcRepeatedTips').html(w);
                                    //$('#imageFieldBtn').trigger('click');
                                    isRepeat = false;
                                }else{
                                    isRepeat = true;
                                    $('#checkArcRepeatedTips').html(data);
                                }
                                 
                            }
                        });
                    }
                    if(isRepeat == false){
                        $('#imageFieldBtn').trigger('click')
                    }
                    return false;
                }else{
                    $('#imageFieldBtn').trigger('click');
                }
            });
     
});
</script>
 
第三步:删除多于的代码
 
删除
 
<input name="imageField" type="image" src="images/button_save.gif" width="60" height="22" class="np" border="0"  style="cursor:pointer;"/>
 
Tips:有以上代码有两处
 
删除
 
if(document.form1.title.value=='')
{
    alert('文章标题不能为空!');
    return false;
}
if(document.form1.typeid.value==0)
{
    alert('请选择档案的主类别!');
    return false;
}
 
第四步:新建php文件
 
在/dede/目录新建一个php文件,命名为checkArcRepeated.php,复制粘贴以下代码保存
 
<?php
/**
 * 检测重复文档
 *
 * @version        2013-6-5 Aniu QQ:9490489
 * @link           http://www.adminbuy.cn
 */
require_once(dirname(__FILE__)."/config.php");
$checkWord = $_GET['checkWord'];
$aid = $_GET['aid'];
if(empty($checkWord) || $cfg_check_title=='N'){
    echo '检测功能未开启或者所选文本为空,请联系';
    exit;
}
$where = ' and main.arcrank>-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 '<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>';
}else{
    echo 'ok';
}
 
使用方法:在添加文章时,随机选择文章内容,选择时注意不要选择有格式的文字,比如加粗、字体大小颜色什么的,反正选择纯文本就好,然后点击保存按钮,这里程序会根据你所选择的内容查找之前添加过的文章有没有包含该段文字的,如果有的话会提示重复,你可以预览或者编辑该重复文章,如果没有重复程序会自动提交并保存文章
 
到这里dedecms避免添加重复文章的工具就差不多了,有两点需要说下,该工具获取编辑器内选中的文本是以百度编辑器API为基础的,如果你的dedecms没有整合百度编辑器,你可以查看之前AB模板网写的:dedecms整合百度编辑器(Ueditor)一(基本整合)非要用dedecm自带的编辑器应该也是可以的,你可以去官网查看API
 
最后来一张图吧
 
本文由AB模板网整理发布,转载请说明出处:http://www.adminbuy.cn/dedecmsjc/6767.html
本文标签:

有问题可以加入织梦技术QQ群一起交流学习

☉首先声明,只要是我们的vip会员全站所有资源均可以免费下载,不做任何限制(了解更多)

☉本站的源码不会像其它下载站一样植入大量的广告。

☉本站提供的织梦源码,都是做好测试好发布的,均可放心使用。

☉本站提供的织梦源码,均带数据及演示地址。可以在任一源码详情页查看演示地址。

☉为了vip利益的最大化,我们还提供了vip赠品(了解更多

☉如有其他问题,请加网站客服QQ(9490489)进行交流。

相关教程

织梦模板_随机Tags

热水壶网站模板 生物科技网站模板 防盗报警网站模板 零件网站模板 摄影机构网站模板 中央空调网站模板 健身网站模板 宠物饲养网站模板 家居设计网站模板 品牌画册网站模板 电动汽车网站模板 环保灯网站模板

推荐教程

首页 VIP专区 静态模板 会员中心