搜尋
首頁CMS教程帝國CMS帝國CMS功能解密字段處理函數詳解

帝國CMS功能解密字段處理函數詳解

一、前言:

帝國CMS提供了強大的自訂欄位處理函數功能,極大的方便了使用者對帝國CMS進行二次開發!

帝國CMS在增加/修改欄位時可以設定“後台增加資訊處理函數”、“後台修改資訊處理函數”、“前台增加資訊處理函數”、“前台修改資訊處理函數”,可以分別設定對字段內容處理的函數,對於對字段內容存放格式有特殊要求的模型用得比較多。今天我們來簡單講解下處理函數製作格式。字段處理函數的具體設定位置如下圖所示:

帝國CMS功能解密字段處理函數詳解

二、基本設定步驟:

1、寫處理函數;
2、將函數複製到e/class/userfun.php檔案內容裡;
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:字段附加參數,字段處理函數處設定的參數內容

四、字段處理函數範例:

範例1:自動在標題前面加上「[EmpireCMS]」字樣
後台欄位函數設定:user_AddTitle

程式碼如下:

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

範例2:標題內容由writer和befrom欄位的組合
後台欄位函數設定: user_TogTitle
標題欄位顯示HTML程式碼:
(說明:因為標題是必填項,所以要給初始值才不會提示內容空)

程式碼如下:

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

範例3:上傳圖片並自動產生縮圖
後台欄位函數設定:user_TranImgAuto##170,120
(說明:後台的參數170表示縮圖寬度,120為縮圖高度)
上傳圖片欄位顯示HTML程式碼:
(說明:變數名稱以「欄位名稱」 imgrs,即跟函數中的「$filetf」變數對應)

#程式碼如下:

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("從 {$dbtbpre}enewspublic limit 1 選擇 qaddtran,qaddtransize,qaddtranimgtype ");
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='[成員]'.$musername;
$infoid=$isadd==1?0:$id;
$empire->query("插入到{$dbtbpre}enewsfile(檔名,檔案大小,adduser,路徑, 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." 其中 id ='$id'");
$ifr=$empire->fetch1("從{$dbtbpre}ecms_".$tbname."_data_".$ir[stb] 中選擇「.$f.」。 " 其中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,$tfr['url']);
}
}
else
{
$value='';
}
return $ value;
}

以上是帝國CMS功能解密字段處理函數詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:www.word666.com。如有侵權,請聯絡admin@php.cn刪除
帝国cms管理员在哪个表帝国cms管理员在哪个表Feb 22, 2023 pm 07:00 PM

管理员表有:1、phome_enewsuser,是管理员记录表;2、phome_enewsdolog,是管理员操作记录表;3、phome_enewsgroup,是管理员用户组数据记录表;4、phome_enewslog,是管理员登陆日志;5、phome_enewsloginfail,是管理员登陆失败记录表;6、phome_enewserrorclass,是管理员错误报告记录表。

帝国cms怎么把静态改成伪静态帝国cms怎么把静态改成伪静态Jul 19, 2023 pm 04:45 PM

帝国cms把静态改成伪静态的方法:1、创建.htaccess文件;2、修改网站配置文件;3、重新生成所有页面;4、配置伪静态规则;5、保存并关闭文件即可。

帝国cms404页面怎么设置帝国cms404页面怎么设置Aug 02, 2023 am 11:54 AM

帝国cms404页面的设置步骤为:1、登录到帝国CMS的后台管理界面;2、导航到"内容"或"站点管理"等相关菜单选项;3、找到和选择"404页面"或"错误页面"选项;4、选择使用已有页面或者创建一个新页面作为404页面;5、在新页面编辑器中,编写404页面的内容;6、保存页面并将其设置为404页面;7、更新网站设置;8、保存设置并测试404页面即可。

帝国cms可以删除模块吗帝国cms可以删除模块吗Mar 13, 2023 pm 07:18 PM

帝国cms可以删除模块。删除模块的方法:1、登录帝国CMS后台,依次点击“系统”-“系统设置”-“系统参数设置”-“关闭相关功能”,根据自己网站的需求,自行勾选设置来关闭对应的模块功能;2、关闭功能后,删除对应模块的在e目录下的子目录;3、修改e目录下的php文件,在文件第二行加上代码“exit();<?php exit()”,并保存修改即可。

帝国cms留言板是哪个表帝国cms留言板是哪个表Feb 22, 2023 am 09:39 AM

帝国cms留言板是“​phome_enewsgbook”表;帝国cms留言分类表是“phome_enewsgbookclass”;帝国cms会员空间留言表是“phome_enewsmembergbook”。

帝国cms封面模板是什么意思帝国cms封面模板是什么意思Feb 13, 2023 am 10:39 AM

在帝国cms中,封面模板是指网站频道页面使用的模板,可以制作跟首页一模一样的封面页面;封面模板共使用在两个地方:非终极栏目和专题。封面模板的使用,一般是该栏目为父级栏目(非终级栏目),封面模板的目的就是调用各个子栏目(终级栏目)文章。

帝国cms连接不上数据库怎么办帝国cms连接不上数据库怎么办Feb 27, 2023 am 09:51 AM

帝国cms连接不上数据库的解决办法:1、打开帝国CMS数据文件的根目录;2、找到并打开“/e/config/config.php”文件;3、将数据库名称以及数据库用户名即数据库密码修改保存后替换空间文件即可。

帝国cms是干什么用的帝国cms是干什么用的Feb 23, 2023 am 09:19 AM

帝国cms是一个基于B/S结构且功能强大的网站管理系统;该系统是由帝国开发工作组独立开发,是一个经过完善设计的适用于Linux/windows引/Unix等环境下高效的网站解决方案。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)