Rumah Tutorial CMS Empayar CMS 帝国CMS功能解密之字段处理函数详解

帝国CMS功能解密之字段处理函数详解

Nov 25, 2019 pm 03:07 PM
empayar cms

帝国CMS功能解密之字段处理函数详解

一、前言:

帝国CMS提供了强大的自定义字段处理函数功能,极大的方便了用户对帝国CMS进行二次开发!

帝国CMS在增加/修改字段时可以设置“后台增加信息处理函数”、“后台修改信息处理函数”、“前台增加信息处理函数”、“前台修改信息处理函数”,可以分别设置对字段内容处理的函数,对于对字段内容存放格式有特殊要求的模型用得比较多。今天我们来简单讲解下处理函数制作格式。字段处理函数的具体设置位置如下图所示:

pic.jpg

二、基本设置步骤:

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("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;
}

Atas ialah kandungan terperinci 帝国CMS功能解密之字段处理函数详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Di manakah tetapan untuk versi mudah alih Empire CMS? Di manakah tetapan untuk versi mudah alih Empire CMS? Apr 17, 2024 pm 12:12 PM

Tetapan mudah alih Empire CMS terletak dalam "Templat Mudah Alih" modul "Pengurusan Templat" Langkah khusus termasuk: mendayakan templat, memilih saluran aplikasi, mengedit kandungan templat dan menyimpan tetapan.

Di manakah peta laman web cms imperial? Di manakah peta laman web cms imperial? Apr 17, 2024 am 10:48 AM

Peta laman Empire CMS boleh didapati dengan mengakses fail config.inc.php dan menyemak tetapan peta laman web. Jika ditetapkan kepada "hidup", peta laman didayakan. Laluan peta laman terletak dalam tetapan sitemapurl dan boleh diakses melalui pelayar atau dimuat turun melalui FTP.

Di manakah saya boleh meletakkan fail template empire cms untuk kegunaan mudah? Di manakah saya boleh meletakkan fail template empire cms untuk kegunaan mudah? Apr 17, 2024 am 07:22 AM

Lokasi yang sesuai untuk fail templat Empire CMS ialah /e/template/default/skin/default/ Kedua, ia juga boleh diletakkan dalam /e/data/skins/ dan /e/skin/ mengekalkan struktur folder dan menetapkan kebenaran fail dan sandaran biasa.

Di mana untuk mencari fail konfigurasi pangkalan data empayar cms Di mana untuk mencari fail konfigurasi pangkalan data empayar cms Apr 17, 2024 am 06:42 AM

Fail konfigurasi pangkalan data Imperial CMS terletak dalam direktori akar tapak web e/config/db.inc.php Ia mengandungi maklumat konfigurasi berikut: $dbhost: alamat pelayan pangkalan data $dbuser: nama pengguna pangkalan data $dbpass: kata laluan pangkalan data $dbname: nama pangkalan data $dbport :Port pangkalan data $dbcharset: Set aksara pangkalan data

Di manakah antara muka penerbitan automatik Empire CMS? Di manakah antara muka penerbitan automatik Empire CMS? Apr 17, 2024 am 09:03 AM

Antara muka penerbitan automatik Empire CMS terletak di /e/api/web/postinfo.php Langkah-langkah penggunaan adalah seperti berikut: lawati /e/api/web/postinfo.php alamat dan gunakan HTTP POST untuk menyerahkan tajuk artikel, ID lajur, ID kategori, pengarang dan artikel Kandungan dan antara muka data lain akan mengembalikan respons dalam format JSON, yang mengandungi hasil penerbitan dan ID artikel.

Di manakah templat rangkaian sumber cms imperial? Di manakah templat rangkaian sumber cms imperial? Apr 17, 2024 am 10:00 AM

Lokasi muat turun templat Empire CMS: Muat turun templat rasmi: https://www.phome.net/template/ Tapak web templat pihak ketiga: https://www.dedecms.com/diy/https://www.0978.com. cn /https://www.jiaocheng.com/Kaedah pemasangan: Muat turun templat Nyahzip templat Muat naik templat Pilih templat

Di manakah pemalam tolak aktif Baidu untuk Imperial CMS? Di manakah pemalam tolak aktif Baidu untuk Imperial CMS? Apr 17, 2024 am 11:00 AM

Pemalam tolak aktif Baidu cms imperial terletak dalam direktori akar /e/api/baidu/push.php. Langkah konfigurasi khusus adalah seperti berikut: 1. Muat naik fail pemalam ke laluan yang ditentukan. 2. Konfigurasikan pilihan "Baidu Active Push" dalam latar belakang Imperial CMS, termasuk alamat tolak, Kunci API dan selang tolak. 3. Dapatkan maklumat push Baidu: Alamat push: https://data.zz.baidu.com/urls?site=YOUR_SITE&token=YOUR_API_KEY, API Key: log masuk ke platform sumber carian Baidu untuk mendapatkan. 4. Kemas kini Kunci API dengan kerap dan tetapkan selang tolak yang munasabah.

Adakah empayar cms percuma? Adakah empayar cms percuma? Apr 17, 2024 am 11:24 AM

Ya, Empire CMS ialah sistem pengurusan kandungan (CMS) percuma dan sumber terbuka. Ia adalah CMS ringan yang kaya dengan ciri dan mudah digunakan. Empire CMS dilesenkan di bawah GNU General Public License (GPL), yang bermaksud ia percuma untuk dimuat turun, dipasang dan digunakan. Untuk kegunaan komersil, ia menawarkan versi berbayar yang menawarkan ciri dan sokongan tambahan seperti pengurusan iklan, pembayaran dalam talian dan sokongan teknikal premium.

See all articles