雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

dedecms

當前位置:主頁 > CMS教程 > dedecms >

dedecms添加文章時避免添加重復(fù)文章插件

來源:本站原創(chuàng)|時間:2021-08-05|欄目:dedecms|點擊:

文章介紹
 
用dedecms做文章類網(wǎng)站,一直有個讓人頭痛的問題:就是添加文章很容易添加到重復(fù)的,也就是之前添加過了,等過了一段時間又添加一篇,加文章大多數(shù)是從不同的網(wǎng)站復(fù)制添加的,所以很容易所到這個問題,就拿麥站來說近200個欄目、幾萬的文章數(shù)據(jù),添加重復(fù)的機率更大了,為角解決dedecms添加文章時重復(fù)內(nèi)容,于是就有了以下內(nèi)容
 
不得不說下dedecms自帶的檢測標題是否重復(fù)基本上毫無用處,“提示:系統(tǒng)已經(jīng)存在標題為 'xxx' 的文檔”,該提示只會在標題文本100%匹配的情況下才會出現(xiàn),現(xiàn)在收集的文章多數(shù)都是內(nèi)容相同標題卻是偽原創(chuàng)了的,所以說根本匹配不了,下面就介紹下麥站實現(xiàn)的方法吧,不算很好將就能用
 
第一步:加載jQuery文件
打開/dede/article_add.htm在<head>后面添加jQuery庫
 
<script type="text/javascript" src="/images/js/j.js"></script>
 
這個jQuery庫是1.2的,很老的版本了,你可以直接去官網(wǎng)下載較新的版本
 
第二步:添加一些div和js
在第二個</form>的前面添加
 
<span id="checkArcRepeatedTips"></span>
<div style="margin:10px;"><label for="checkArcRepeated"><input type="checkbox" id="checkArcRepeated" checked="checked" />檢測內(nèi)容是否有重復(fù)</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('請隨機選擇一段文本進行文章重復(fù)檢測');
                        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,復(fù)制粘貼以下代碼保存
 
<?php
/**
 * 檢測重復(fù)文檔
 *
 * @version        2013-6-5 Aniu QQ:9490489
 * @link           http://www.jygsgssxh.com
 */
require_once(dirname(__FILE__)."/config.php");
$checkWord = $_GET['checkWord'];
$aid = $_GET['aid'];
if(empty($checkWord) || $cfg_check_title=='N'){
    echo '檢測功能未開啟或者所選文本為空,請聯(lián)系';
    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">前臺預(yù)覽</a>';
}else{
    echo 'ok';
}
 
使用方法:在添加文章時,隨機選擇文章內(nèi)容,選擇時注意不要選擇有格式的文字,比如加粗、字體大小顏色什么的,反正選擇純文本就好,然后點擊保存按鈕,這里程序會根據(jù)你所選擇的內(nèi)容查找之前添加過的文章有沒有包含該段文字的,如果有的話會提示重復(fù),你可以預(yù)覽或者編輯該重復(fù)文章,如果沒有重復(fù)程序會自動提交并保存文章
 
到這里dedecms避免添加重復(fù)文章的工具就差不多了,有兩點需要說下,該工具獲取編輯器內(nèi)選中的文本是以百度編輯器API為基礎(chǔ)的,如果你的dedecms沒有整合百度編輯器,你可以查看之前麥站寫的:dedecms整合百度編輯器(Ueditor)一(基本整合)非要用dedecm自帶的編輯器應(yīng)該也是可以的,你可以去官網(wǎng)查看API
 
最后來一張圖吧
 

上一篇:織夢如何添加兩張縮略圖_織夢自定義圖片字段

欄    目:dedecms

下一篇:DedeCms參考手冊 函數(shù)及文件大全

本文標題:dedecms添加文章時避免添加重復(fù)文章插件

本文地址:http://www.jygsgssxh.com/a1/dedecms/14986.html

更多dedecms

您可能感興趣的文章

閱讀排行

本欄相關(guān)

隨機閱讀

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有