1. 머리말:
Empire CMS는 강력한 사용자 정의 필드 처리 기능을 제공하여 사용자가 Imperial CMS를 훨씬 쉽게 사용할 수 있도록 2차 개발을 수행합니다!
Empire CMS는 필드 추가/수정 시 "백엔드 추가 정보 처리 기능", "백그라운드 수정 정보 처리 기능", "프런트엔드 추가 정보 처리 기능", "프런트엔드 수정 정보 처리 기능", 필드 콘텐츠 처리 기능은 별도로 설정할 수 있으며, 이는 필드 콘텐츠의 저장 형식에 대한 특별한 요구 사항이 있는 모델에 더 일반적으로 사용됩니다. 오늘은 처리기능 제작 포맷에 대해 간략하게 설명드리겠습니다. 필드 처리 기능의 구체적인 설정 위치는 아래 그림과 같습니다:
2. 기본 설정 단계:
1. 처리 함수 작성;
2. 함수를 e/class/userfun.php 파일의 내용에 복사합니다.
3. 필드 설정 처리 함수 이름을 수정합니다.
3. 필드 처리 함수 형식:
코드는 다음과 같습니다.
function user_FieldFun($mid,$f,$isadd,$ isq,$ value,$cs){
return $value;
}
매개변수 설명:
user_FieldFun: 함수 이름
$ mid: 시스템 모델 ID
$f: 필드 이름
$isadd: 값이 0이면 정보를 추가하고, 값이 1이면 정보를 수정합니다.
$ isq: 값이 0이면 백그라운드 처리이고, 값이 1이면 프런트엔드 처리입니다.
$value: 필드의 원본 내용
$cs: 필드의 추가 매개변수, 매개변수 내용 필드 처리 기능에서 설정
4. 필드 처리 기능의 예: # 🎜🎜#
예 1: 제목 앞에 "[EmpireCMS]" 단어 자동 추가#🎜🎜 #백엔드 필드 기능 설정: user_AddTitle
코드는 다음과 같습니다.
function user_AddTitle($mid,$f,$isadd,$isq,$value ,$cs){
$value='[EmpireCMS]'.$value;return $value;
}
예 2: 제목 콘텐츠가 설정되었습니다. 작가와 befrom 필드의 조합으로
제목 필드에는 HTML 코드가 표시됩니다: # 🎜🎜#(참고: 제목은 필수 항목이므로 내용이 비어있지 않도록 초기값을 주어야 합니다)
# 🎜🎜#
코드는 다음과 같습니다 :
function user_TogTitle($mid,$f,$isadd,$isq,$value,$cs){
return $value;
}
예 3: 이미지 업로드 및 자동으로 썸네일 생성
Background 필드 기능 설정: user_TranImgAuto##170,120#🎜🎜 #(설명: 배경 매개변수 170은 썸네일 너비를 나타내고, 120은 썸네일 높이를 나타냅니다)
이미지 업로드 필드에는 HTML 코드가 표시됩니다:
#🎜🎜 #
코드는 다음과 같습니다. 다음과 같습니다:
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 ' ';
}
$classid=(int)$_POST['classid'];
$id=(int)$_POST['id'];
$filepass= (int)$_POST['filepass'];
$filetype=GetFiletype($_FILES[$filetf]['name']);
$pr=$empire->fetch1("qaddtran 선택 ,qaddtransize,qaddtranimgtype from {$dbtbpre}enewspubliclimit 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]['유형'],$_FILES[$filetf]['크기'],$classid);
if($tfr['tran'])
{
$csr=폭발(',',$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='[구성원]' .$musername;
$infoid=$isadd==1?0:$id;
$empire->query("{$dbtbpre}enewsfile(filename,filesize,adduser,path, filetime,classid,no,type,id,cjid,fpath) 값('$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("{$dbtbpre}ecms_에서 stb를 선택하세요.". $tbname." where id='$id'");
$ifr=$empire->fetch1("{$dbtbpre}ecms_".$tbname."_data_"에서 ".$f."를 선택하세요." .$ir[stb]." 여기서 id='$id'");
$ifval=$ifr[$f];
}
else
{#🎜🎜 #$ir=$empire->fetch1("{$dbtbpre}ecms_".$tbname."에서 ".$f."를 선택하세요." 여기서 id='$id'");
$ifval=$ir [$f];
}
if($ifval)
{
DelYQTranFile($classid,$id,$ifval,$f);
}#🎜 🎜#}
$value=str_replace($tfr['filename'],$filename,$tfr['url']);
}
}
else#🎜🎜 #{
$value='';
}
return $value;
}
위 내용은 Imperial CMS 기능 복호화의 현장 처리 기능에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!