• 联盟
  • 文章
  • 当前位置:排行榜 > 资讯 > 经验学堂 > 列表经验学堂

    DEDE怎样检测重复自定义模型字段的网址重复禁止发布?

    编辑:996评测网 发布时间:2019-05-20 02:18 分类:经验学堂

    织梦dede文档重复,要怎么实现标题重复时不允许发文章,其实后台是有个重复检测功能,但是添加文章的时候都能添加成,这显然没什么用原来的检测功能,现在我们要做的是在点击添加文章保存按钮之前,做下检测重复文档的操作,判断如果存在重复文档,提示,并且退出保存文章的函数。
    找到对应的dede发布模型的php文件(如:我的是自定义模型中的自定义字段,打开archives_add.php)
    查找:
        //分析处理附加表数据
        $inadd_f = $inadd_v = '';
        if(!empty($dede_addonfields))
        {
            $addonfields = explode(';', $dede_addonfields);
            if(is_array($addonfields))
            {
                foreach($addonfields as $v)
                {
                    if($v=='') continue;
                    $vs = explode(',', $v);
                    if($vs[1]=='htmltext' || $vs[1]=='textdata')
                    {
                        ${$vs[0]} = AnalyseHtmlBody(${$vs[0]}, $description, $litpic, $keywords, $vs[1]);
                    }
                    else
                    {
                        if(!isset(${$vs[0]})) ${$vs[0]} = '';
                        ${$vs[0]} = GetFieldValueA(${$vs[0]}, $vs[1], $arcID);
                    }
                    $inadd_f .= ','.$vs[0];
                    $inadd_v .= " ,'".${$vs[0]}."' ";
                }
            }
        }
    在这段结尾添加以下代码:
    //检测重复的自定义字段
        if($cfg_mb_cktitle=='Y')
        {  
            $row = $dsql->GetOne("Select * From `dede_你的自定义模型数据表` where 自定义字段 like '$自定义字段' ");
            if(is_array($row))
            {
                ShowMsg("对不起,请不要发布重复id!","-1");
                exit();
            }
        }
    同样的,在会员模型中也是如此添加一段即可.此方法暂只在v5.7上测试,其他版本暂未测试!

    长期使用织梦建站的朋友一定会遇到这种情况,就是发布文章的时候发布了两篇一模一样的文章。这里面通常有两种情况出现,有时候网速卡了或者网站服务器不稳定的时候发文章,点击一次没反应,你又点击了一次,这样很容易就重复了;还有一种就是采集站了,就是你采集的时候又不修改也会重复。
     
      现在我们要做的是在点击文章保存按钮之前,做下检测重复文档的操作,如果存在重复文档,则出现提示不再发布重复文章,以下便是解决方法。
     
      打开 /dede/article_add.php 文件
     
      找到
     
    if(empty($click)) $click = ($cfg_arc_click=='-1' ? mt_rand(50, 200) : $cfg_arc_click);
      在其下面添加
     
    if($cfg_mb_cktitle=='Y') {
     
    $row = $dsql->GetOne("Select * From `inyhow_archives` where title like '$title' ");
     
    if(is_array($row))
     
    {
     
    ShowMsg("对不起,请不要发布重复文档!","-1");
     
    exit();
     
    }
     
    }  
      保存文件后,你再添加相同标题的时候就会提示“对不起,请不要发布重复文档!”,并且添加文章操作无法把文章加入数据库中,修改后的dedecms就不会出现两篇相同的文章了。

    (责任编辑:996top广告联盟评测)
    上一篇:dede内容模型自定义字段checkbox多选无法保存BUG 下一篇:input输入框自动过滤掉特殊字符方法
    下级栏目
    最新加入
  • 12019-08-24环宇移动平台
  • 22019-08-24希尔联盟
  • 32019-08-24秦源广告联盟
  • 42019-08-24达信站群联盟
  • 52019-08-24玖月广告联盟
  • 62019-08-24三际广告联盟
  • 72019-08-24聚书屋广告联盟
  • 82019-08-17亚迈广告联盟
  • 92019-08-17易推联盟
  • 102019-08-17誉伟广告传媒
  • 热评联盟
    服务排行
    人气排行

    关于996| 版权声明| 联系方式| 广告服务

    Copyright © 版权所有:996评测网 广告联系QQ:(请注明:投广告)
    (评论内容只代表网友观点,与996评测网立场无关)