摘要:
网站整体框架做好之后接下来就是每天发布文章,一旦文章发布的很多了怎么知道有没有重复标题呢,在...
描述:
网站整体框架做好之后接下来就是每天发布文章,一旦文章发布的很多了怎么知道有没有重复标题呢,在以前我们用织梦CMS做网站时织梦后台发布文章时是可以自动检测重复标题的,这个功能是很实用的,现在用yzmcms建站时发现并没有检测重复标题的功能,我们可以通过二次开发实现检测重复标题,最后的效果如下图:
下面看具体的代码:
1、找到文件 /application/admin/controller/content.class.php 增加如下函数代码
//找到添加内容这个函数/** * 添加内容 */public function add() { // ...此处省略代码}// 下面是添加的/** *@from-andyguo * 检测标题是否重复 */public function test_title_same() { $modelid = isset($_POST['modelid']) ? intval($_POST['modelid']) : 0; $tablename = D('model')->field('tablename')->where(array('modelid'=>$modelid))->one(); if(isset($_POST['dosubmit'])) { $s_title = isset($_POST["title"]) ? $_POST["title"]: ''; // $r = $this->content->content_add($_POST); $r = D($tablename)->field('id,title,url')->where(array('title'=>'%'.$s_title.'%'))->find(); if(is_array($r)){ return_json(array('status' => 1, 'message' => '有重复标题存在')); }else{ return_json(array('status' => 0, 'message' => '检测通过')); } }}
2、再找到文件/application/admin/view/content_add.html 增加如下函数代码:
//找到该函数function toggle(){ $("#url").toggle();}//下面是添加的function test_title_same(){ var title = $("input[name='title']").val(), url = "<?php echo U('test_title_same');?>", modelid = '<?php echo $modelid;?>'; $.ajax({ url: url, type: 'POST', dataType:'JSON', data:{dosubmit:1,title:title,modelid:modelid}, success:function(r){ console.log(r); alert(r.message); }, error:function(x){} })}
继续找到设置标题颜色的那行代码
继续找到<input type="text" class="input-text" value="" name="title" onblur="get_seotitle()"><input type="hidden" name="color" id="color"><img src="<?php echo STATIC_URL;?>images/colors.png" title="设置颜色" id="colors">//下面是添加的一个按钮<span><a href="javascript:;" onclick="test_title_same()">检测重复标题</a></span>
按以上步骤操作完之后,后台更新缓存,再添加文章试试,添加相同标题的文章时就会提示重复标题了。
好啦,以上就是YzmCMS禁止重复标题的实现方法和详细代码了,希望能帮助有需要的朋友。
THE END
请登录后发表评论