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!
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.
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: < input type="hidden" name="title" value="test">
(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!