DEDE檢測重複自定義欄位禁止釋出

asqq8發表於2015-11-06

織夢文件重複,要怎麼實現標題重複時不允許發文章,其實後臺是有個重複檢測功能,但是新增文章的時候都能新增成,這顯然沒什麼用原來的檢測功能,現在我們要做的是在點選新增文章儲存按鈕之前,做下檢測重複文件的操作,判斷如果存在重複文件,提示,並且退出儲存文章的函式。

找到對應的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]}.”` “;
            }
        }
    }

在這段結尾新增以下程式碼:jinmengqiang.cn

//檢測重複的自定義欄位
    if($cfg_mb_cktitle==`Y`)
    {   
        $row = $dsql->GetOne(“Select * From `dede_你的自定義模型資料表` where自定義欄位 like
`$自定義欄位` “);
        if(is_array($row))
        {
            ShowMsg(“對不起,請不要釋出重複id!”,”-1″);
            exit();
        }
    }

同樣的,在會員模型中也是如此新增一段即可.此方法暫只在v5.7上測試,其他版本暫未測試!


相關文章