最新公告
  • 欢迎您光临云梦下载网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • dedecms添加文章时避免添加重复文章插件

    文章介绍
     
    用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
     
    最后来一张图吧

     
    1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!616105616@qq.com
    2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
    3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
    4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!

    云梦下载网 » dedecms添加文章时避免添加重复文章插件
    • 3会员总数(位)
    • 2800资源总数(个)
    • 69本周发布(个)
    • 5 今日发布(个)
    • 204稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情