Heim  >  Artikel  >  CMS-Tutorial  >  Informationen zur Feldverarbeitungsfunktion der imperialen CMS6.0-Funktionsentschlüsselung

Informationen zur Feldverarbeitungsfunktion der imperialen CMS6.0-Funktionsentschlüsselung

藏色散人
藏色散人nach vorne
2020-06-12 15:07:022681Durchsuche

Die folgende Tutorial-Kolumne von Empire cms stellt Ihnen die Feldverarbeitungsfunktion der CMS6.0-Funktionsentschlüsselung vor. Ich hoffe, dass sie Freunden in Not hilfreich sein wird!

Informationen zur Feldverarbeitungsfunktion der imperialen CMS6.0-Funktionsentschlüsselung

Vorwort:

Beim Hinzufügen/Ändern von Feldern können Sie „Backend-Informationsverarbeitungsfunktion“, „Backend-Änderungsinformationsverarbeitungsfunktion“ und „Vordergrundinformationen“ festlegen Zusätzlich können „Verarbeitungsfunktion“ und „Verarbeitungsfunktion für Vordergrundänderungsinformationen“ jeweils Funktionen für die Verarbeitung von Feldinhalten festlegen. Sie werden häufig für Modelle verwendet, die besondere Anforderungen an das Speicherformat von Feldinhalten stellen. Heute werden wir kurz das Produktionsformat der Verarbeitungsfunktion erläutern.

Informationen zur Feldverarbeitungsfunktion der imperialen CMS6.0-Funktionsentschlüsselung

Grundlegende Einrichtungsschritte:

1. Kopieren Sie die Funktion nach e/class/userfun. php Im Dateiinhalt;

3. Ändern Sie den Namen der Feldeinstellungsverarbeitungsfunktion.

Feldverarbeitungsfunktionsformat:

function user_FieldFun($mid,$f,$isadd,$isq,$value,$cs){
        return $value;
}

Parameterbeschreibung:

user_FieldFun: Funktionsname

$mid: Systemmodell-ID

$ f: Feldname

$isadd: Wenn der Wert 1 ist, dient er zum Hinzufügen von Informationen; wenn der Wert 0 ist, zum Ändern der Informationen

$isq: Wenn der Wert ist 0, es handelt sich um eine Hintergrundverarbeitung; wenn der Wert 1 ist, handelt es sich um eine Frontend-Verarbeitung

$value: ursprünglicher Inhalt des Feldes

$cs: zusätzliche Parameter des Feldes, Parameterinhalt in der Feldverarbeitungsfunktion festgelegt

Beispiel für eine Feldverarbeitungsfunktion:

Beispiel 1: Das Wort „[EmpireCMS]“ automatisch vor dem Titel hinzufügen

Backend-Feldfunktion Einstellung: user_AddTitle

function user_AddTitle($mid,$f,$isadd,$isq,$value,$cs){
        $value='[EmpireCMS]'.$value;
        return $value;
}

Beispiel 2: Der Titelinhalt ist eine Kombination aus Writer- und Befrom-Feldern

Hintergrundfeld-Funktionseinstellungen: user_TogTitle

HTML-Code für die Titelfeldanzeige:

(Erklärung: Da der Titel erforderlich ist, muss ein Anfangswert angegeben werden, damit der Inhalt nicht leer ist)

function user_TogTitle($mid,$f,$isadd,$isq,$value,$cs){
        $value=$_POST['writer'].$_POST['befrom'];
        return $value;
}

Beispiel 3: Bilder hochladen und automatisch Miniaturansichten generieren

Einstellungen der Hintergrundfeldfunktion: user_TranImgAuto## 170,120

(Hinweis: Der Hintergrundparameter 170 stellt die Miniaturbildbreite dar und 120 ist die Miniaturbildhöhe)

Das Feld „Bild hochladen“ zeigt HTML-Code an:

(Hinweis: Der Variablenname verwendet „Feldname“ + imgrs, was der Variablen „$filetf“ in der Funktion entspricht)

function user_TranImgAuto($mid,$f,$isadd,$isq,$value,$cs){
        global $empire,$dbtbpre,$public_r,$emod_r,$class_r,$tranpicturetype,$musername;
        $filetf=$f.'imgrs';//变量名
        if(!$_FILES[$filetf]['name'])
        {
                return $value;
        }
        $classid=(int)$_POST['classid'];
        $id=(int)$_POST['id'];
        $filepass=(int)$_POST['filepass'];
        $filetype=GetFiletype($_FILES[$filetf]['name']);
        $pr=$empire->fetch1("select qaddtran,qaddtransize,qaddtranimgtype from {$dbtbpre}enewspublic limit 1");
        if(!$pr['qaddtran'])
        {
                printerror("CloseQTranPic","",1);
        }
        if(!strstr($pr['qaddtranimgtype'],"|".$filetype."|"))
        {
                printerror("NotQTranFiletype","",1);
        }
        if($_FILES[$filetf]['size']>$pr['qaddtransize']*1024)
        {
                printerror("TooBigQTranFile","",1);
        }
        if(!strstr($tranpicturetype,','.$filetype.','))
        {
                printerror("NotQTranFiletype","",1);
        }
        $tfr=DoTranFile($_FILES[$filetf]['tmp_name'],$_FILES[$filetf]['name'],$_FILES[$filetf]['type'],$_FILES[$filetf]['size'],$classid);
        if($tfr['tran'])
        {
                $csr=explode(',',$cs);
                $maxwidth=$csr[0];
                $maxheight=$csr[1];
                $yname=$tfr['yname'];
                $name=$tfr['name'];
                include_once(ECMS_PATH.'e/class/gd.php');
                //生成缩图
                $filer=ResizeImage($yname,$name,$maxwidth,$maxheight,$public_r['spickill']);
                DelFiletext($yname);
                if($filer['file'])
                {
                        //写入数据库
                        $type=1;
                        $filetime=date("Y-m-d H:i:s");
                        $filesize=@filesize($filer['file']);
                        $filename=GetFilename(str_replace(ECMS_PATH,'',$filer['file']));
                        $adduser='[Member]'.$musername;
                        $infoid=$isadd==1?0:$id;
                        $empire->query("insert into {$dbtbpre}enewsfile(filename,filesize,adduser,path,filetime,classid,no,type,id,cjid,fpath) values('$filename','$filesize','$adduser','$tfr[filepath]','$filetime','$classid','[".$f."]".addslashes(RepPostStr($_POST[title]))."','$type','$infoid','$filepass','$public_r[fpath]');");
                        if($isadd==0)
                        {
                                $tbname=$emod_r[$mid]['tbname'];
                                if(strstr($emod_r[$mid]['tbdataf'],','.$f.','))
                                {
                                        $ir=$empire->fetch1("select stb from {$dbtbpre}ecms_".$tbname." where id='$id'");
                                        $ifr=$empire->fetch1("select ".$f." from {$dbtbpre}ecms_".$tbname."_data_".$ir[stb]." where id='$id'");
                                        $ifval=$ifr[$f];
                                }
                                else
                                {
                                        $ir=$empire->fetch1("select ".$f." from {$dbtbpre}ecms_".$tbname." where id='$id'");
                                        $ifval=$ir[$f];
                                }
                                if($ifval)
                                {
                                        DelYQTranFile($classid,$id,$ifval,$f);
                                }
                        }
                        $value=str_replace($tfr['filename'],$filename,$tfr['url']);
                }
        }
        else
        {
                $value='';
        }
        return $value;
}

Verarbeitungsfunktion kann implementiert werden. Es gibt viele sehr komplexe Anforderungen an das Speicherformat für Feldinhalte. Die oben genannten sind nur einige einfache Beispiele und mehr müssen von den Benutzern geübt werden.

Weitere technische Artikel zu Imperial CMS finden Sie in der Spalte

Empire CMS Sekundärentwicklung!

Das obige ist der detaillierte Inhalt vonInformationen zur Feldverarbeitungsfunktion der imperialen CMS6.0-Funktionsentschlüsselung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen