小猪建站
位置:首页 > 网站教程 > 迅睿CMS > 内容

迅睿CMS发布内容广告词过滤还能自定义的是否通过的方法

2025-07-18
0

第一步:导入如下字段

{"name":"广告词","fieldname":"guanggaoci","fieldtype":"Checkbox","isedit":"1","ismain":"1","issystem":"0","ismember":"1","issearch":"0","disabled":"0","setting":{"option":{"options":"最|最\r\n第一|第一\r\n唯一|唯一","value":"","show_type":"0","css":""},"validate":{"xss":"1","required":"0","pattern":"","errortips":"","check":"","filter":"","tips":"","formattr":""},"is_right":"0"},"displayorder":"0"}

第二部:在hooks.php放入如下代码

\Phpcmf\Hooks::app_on('appname', 'module_content_before', function($data) {
    //$data 模块数据
    
        $field = my_field_options("guanggaoci",MOD_DIR,"module");
    
        
        
        if($field){
            
            $newdata=$data;
            unset($newdata[1]['guanggaoci']);
            $str=dr_array2string($newdata);
           
            $guanggaoci=dr_string2array($data[1]['guanggaoci']);
            
            foreach ($field as $one){
                if(!dr_in_array($one,$guanggaoci)){
                
                    if(strstr($str,$one)){
                        return dr_return_data(0, '包含关键词'.$one);
                    }
                
                }
            }
        
        }
      
     
      return dr_return_data(1, 'ok', $data); 
    
});

第三步:在custom.php中放入如下代码

function my_field_options($name,$mod="news",$type="module"){
     
    
     $one=XR_M()->table($type)->where("dirname",$mod)->getRow();
     if(!$one){
         
         return [];
     }
     
     $field=XR_M()->table("field")->where("relatedname",$type)->where("relatedid",$one['id'])->getRow();
     
     return dr_field_options($field['id']);
     
     
 }

图片如下

image

TAGS: