您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程
dedecms添加文章时避免发布重复文章的方法
如霜2023-09-24DedeCMS教程已有人查阅
导读用dedecms做文章类网站,一直有个让人头痛的问题:就是添加文章很容易添加到重复的,也就是之前添加过了,等过了一段时间又添加一篇,加文章大多数是从不同的网站复制添加的
用dedecms做文章类网站,一直有个让人头痛的问题:就是添加文章很容易添加到重复的,也就是之前添加过了,等过了一段时间又添加一篇,加文章大多数是从不同的网站复制添加的,所以很容易所到这个问题,就拿代码号来说近200个栏目、几万的文章数据,添加重复的机率更大了,为角解决dedecms添加文章时重复内容,于是就有了以下内容
不得不说下dedecms自带的检测标题是否重复基本上毫无用处,“提示:系统已经存在标题为 'xxx' 的文档”,该提示只会在标题文本百%匹配的情况下才会出现,现在收集的文章多数都是内容相同标题却是伪原创了的,所以说根本匹配不了,下面就介绍下代码号实现的方法吧,不算很好将就能用
第一步:加载jQuery文件打开/dede/article_add.htm在<head>后面添加jQuery库
第二步:添加一些div和js在第二个</form>的前面添加
删除
删除
在/dede/目录新建一个php文件,命名为checkArcRepeated.php,复制粘贴以下代码保存
到这里dedecms避免添加重复文章的工具就差不多了,有两点需要说下,该工具获取编辑器内选中的文本是以百度编辑器API为基础的,如果你的dedecms没有整合百度编辑器,你可以查看之前代码号写的:dedecms整合百度编辑器(Ueditor)一(基本整合)非要用dedecm自带的编辑器应该也是可以的,你可以去官网查看API
之后来一张图吧,写文章真挺费事的
不得不说下dedecms自带的检测标题是否重复基本上毫无用处,“提示:系统已经存在标题为 'xxx' 的文档”,该提示只会在标题文本百%匹配的情况下才会出现,现在收集的文章多数都是内容相同标题却是伪原创了的,所以说根本匹配不了,下面就介绍下代码号实现的方法吧,不算很好将就能用
第一步:加载jQuery文件打开/dede/article_add.htm在<head>后面添加jQuery库
<scripttype="text/javascript"src="/images/js/j.js"></script>
这个jQuery库是1.2的,很老的版本了,你可以直接去官网下载较新的版本第二步:添加一些div和js在第二个</form>的前面添加
<spanid="checkArcRepeatedTips"></span>
<divstyle="margin:10px;"><labelfor="checkArcRepeated"><inputtype="checkbox"id="checkArcRepeated"checked="checked"/>检测内容是否有重复</label></div>
<inputname="imageField"id="imageFieldBtn"type="image"src="images/button_save.gif"width="60"height="22"class="np"border="0"style="cursor:pointer;display:none;"/>
<inputtype="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;"/>
<scripttype="text/javascript">
$(function(){
$('#checkArcRepeatedBtn').click(function(){
if($('#title').val()==''){
alert('标题不能为空');
returnfalse;
}
if($('#typeid').val()==''||$('#typeid').val()==0){
alert('请选择栏目');
returnfalse;
}
if($('#checkArcRepeated').attr('checked')!=''){
varrange=ue.selection.getRange();
range.select();
varcheckWord=ue.selection.getText();
if(!checkWord){
alert('请随机选择一段文本进行文章重复检测');
isRepeat=true;
returnfalse;
}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')
}
returnfalse;
}else{
$('#imageFieldBtn').trigger('click');
}
});
});
</script>
第三步:删除多于的代码删除
<inputname="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('文章标题不能为空!');
returnfalse;
}
if(document.form1.typeid.value==0)
{
alert('请选择档案的主类别!');
returnfalse;
}
第四步:新建php文件在/dede/目录新建一个php文件,命名为checkArcRepeated.php,复制粘贴以下代码保存
<?php
/**
*检测重复文档
*
*@version2023,代码号未授权请勿搬运
*@linkhttp://www.ebingou.cn
*/
require_once(dirname(__FILE__)."/config.php");
$checkWord=$_GET['checkWord'];
$aid=$_GET['aid'];
if(empty($checkWord)||$cfg_check_title=='N'){
echo'检测功能未开启或者所选文本为空,请联系';
exit;
}
$where='andmain.arcrank>-1andmain.id=addon.aid';
if(!empty($aid)){
$where.='andaid<>'.$aid;
}
$sql="SELECTaidFROMdede_addonarticleaddon,dede_archivesmainWHEREbodyLIKE'%".$checkWord."%'".$where;
$row=$dsql->GetOne($sql);
if(is_array($row)){
echo'<astyle="color:red;"href="article_edit.php?aid='.$row['aid'].'"target="_blank">编辑文章</a><astyle="color:red;"href="../plus/view.php?aid='.$row['aid'].'"target="_blank">前台预览</a>';
}else{
echo'ok';
}
使用方法:在添加文章时,随机选择文章内容,选择时注意不要选择有格式的文字,比如加粗、字体大小颜色什么的,反正选择纯文本就好,然后点击保存按钮,这里程序会根据你所选择的内容查找之前添加过的文章有没有包含该段文字的,如果有的话会提示重复,你可以预览或者编辑该重复文章,如果没有重复程序会自动提交并保存文章到这里dedecms避免添加重复文章的工具就差不多了,有两点需要说下,该工具获取编辑器内选中的文本是以百度编辑器API为基础的,如果你的dedecms没有整合百度编辑器,你可以查看之前代码号写的:dedecms整合百度编辑器(Ueditor)一(基本整合)非要用dedecm自带的编辑器应该也是可以的,你可以去官网查看API
之后来一张图吧,写文章真挺费事的
本文标签:
很赞哦! ()
相关教程
- PHPCMS和织梦DEDECMS对比分析
- cms基本概念dedecms,phpcms介绍
- DedeCMS, Discuz, Phpwind, PhpCMS配置安全设置方法
- phpcms和dedecms工作区别
- 帝国cms、dedecms、phpcms等负载测试
- dedecms、php168,phpcms、VeryCMS、DiyPage五款开源cms系统点评
- phpcms和dedecms有哪些区别不同
- dedecms织梦发布内容网站为空白的原因有哪些
- dedecms织梦程序安装后无法修改栏目的解决方法
- 织梦dedecms上传图片默认路径怎么修改
- 用dedecms织梦程序做中英双语网站制作方法
- 织梦dedecms首页幻灯片不显示的原因和解决办法
图文教程
dedecms怎么将data目录迁移到web根目录之外
DedeCMS是不仅是我国站长使用量较大,也是企业用户使用较大的PHP建站系统,随着用户量骤增,一些不法者更是将织梦内容管理系统研究了个透彻,因此网站安全不容忽视。
织梦cms如何调用dz x1.5的相关数据
最近帮朋友整合了DEDECSM V5.6和discuz x1.5后,朋友又再次找到我,咨询如何实现在织梦CMS的相关栏目中调用论坛的相关数据。于是我尝试调用“活跃会员”
dedecms购物车优化自动更新数量更改订单号的方法
用dedecms做优化还是相当靠谱的,个人不喜欢MVC的设计,冗余代码太多了,打开速度是很重要的,采用响应式布局,不需要跳转到移动端。
DedeCMS提示"Call to a member function GetInnerText()"解决办法
今天在做一个站时用到了自定义模型,遇到了些问题,在更新列表页时提示:Fatal error: Call to a member function GetI
相关源码
-
(自适应响应式)蓝色律师事务所法务团队网站pbootcms模板为律师事务所和法律服务机构打造的专业网站模板,展现法律专业性与权威性,手工编写标准DIV+CSS代码,结构清晰优化,确保高效运行,自动适配电脑、平板和手机等各类设备,提供更好浏览体验查看源码 -
(自适应)HTML5响应式双语绿色物流运输快递货运pbootcms源码本款基于PbootCMS开发的网站模板为物流运输、快递货运行业设计,采用HTML5技术构建,支持简繁字体切换。模板设计充分考虑了货运物流行业的特点,可专业展示运输服务、物流网络和业务优势等内容。查看源码 -
帝国cms7.5游戏门户H5小游戏网站模板源码免费下载基于帝国CMS7.5开发的H5游戏门户模板,为在线游戏平台设计。支持PC端与移动端同步生成,打造完整的游戏娱乐体验平台。查看源码 -
(自适应响应式)黑色酷炫高端数码摄影pbootcms网站模板源码本模板基于PbootCMS开发,为摄影工作室、个人摄影师及摄影爱好者设计。采用深色系风格,突出摄影作品展示效果,适配各类数码设备浏览。适用于作品集展示查看源码 -
(自适应HTML5)响应式智能设备人工智能机器pbootcms源码免费下载这款基于PbootCMS开发的网站模板为人工智能和智能设备行业设计,采用现代化科技风格,突出产品的智能特性和技术创新。模板架构合理,功能完善,能够有效展示各类智能产品的核心功能和解决方案。查看源码 -
(PC+WAP)门窗门业家居定制铝合金产品pbootcms模板下载基于PbootCMS内核开发的门窗门业企业专用模板,采用响应式设计结构,数据一次录入即可同步适配电脑与手机端浏览。通过简洁大气的视觉呈现,帮助门窗企业快速建立专业线上展示平台,有效传递产品价值与服务优势。查看源码
| 分享笔记 (共有 篇笔记) |
