帝國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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

帝國CMS的手機端設定位於「模板管理」模組的「手機模板」中,具體步驟包括:啟用模板、選擇應用頻道、編輯模板內容,並儲存設定。

透過存取config.inc.php檔案並檢查dositemap設置,可以找到帝國CMS網站地圖。如果設定為"on",則網站地圖已啟用。網站地圖路徑位於sitemapurl設定中,可以透過瀏覽器存取或透過FTP下載。

帝國CMS模板檔案理想的放置位置是/e/template/default/skin/default/,其次還可以放置在/e/data/skins/和/e/skin/,需要注意保持資料夾結構、設定檔案權限以及定期備份。

帝國CMS的自動發布介面位於/e/api/web/postinfo.php,使用步驟如下:存取/e/api/web/postinfo.php 位址使用HTTP POST 提交文章標題、欄位ID、分類ID、作者和文章內容等資料介面會傳回一個JSON 格式的回應,其中包含發佈結果和文章ID

帝國cms百度主動推送插件位於根目錄/e/api/baidu/push.php。具體設定步驟如下:1. 上傳外掛程式至指定路徑。 2. 在帝國cms後台設定「百度主動推送」選項,包括推送位址、API Key和推送間隔。 3. 取得百度推送資訊:推送位址:https://data.zz.baidu.com/urls?site=YOUR_SITE&token=YOUR_API_KEY,API Key:登入百度搜尋資源平台取得。 4. 定期更新API Key,並設定合理的推送間隔。

帝國CMS資料庫設定檔位於網站根目錄下e/config/db.inc.php,它包含以下設定資訊:$dbhost:資料庫伺服器位址$dbuser:資料庫使用者名稱$dbpass:資料庫密碼$dbname:資料庫名稱$dbport :資料庫連接埠$dbcharset:資料庫字元集

是的,帝國CMS是一款免費的開源內容管理系統(CMS)。它是一款輕量CMS,功能豐富,易於使用。帝國CMS遵循GNU通用公共授權(GPL),這意味著它可以免費下載、安裝和使用。對於商業用途,它提供了付費版本,提供額外的功能和支持,例如廣告管理、線上支付和高級技術支援。

帝國CMS模板下載位置:官方模板下載:https://www.phome.net/template/第三方模板網站:https://www.dedecms.com/diy/https://www.0978.com.cn /https://www.jiaocheng.com/安裝方式:下載模板解壓縮模板上傳模板選擇模板
