ホームページ CMS チュートリアル エンパイアCMS インペリアルCMS6.0機能復号化のフィールド処理機能について

インペリアルCMS6.0機能復号化のフィールド処理機能について

Jun 12, 2020 pm 03:07 PM

Empirecms の次のチュートリアル コラムでは、CMS6.0 関数復号化のフィールド処理機能を紹介します。

インペリアルCMS6.0機能復号化のフィールド処理機能について

前書き:

フィールドを追加/変更する場合、「バックエンド情報処理機能追加」、「バックエンド情報処理機能変更」、「」を設定できます。 「フォアグラウンド追加情報処理機能」と「フォアグラウンド変更情報処理機能」は、それぞれフィールド内容を処理するための関数を設定することができ、フィールド内容の格納形式に特殊な要件がある機種によく使用されます。今回は処理関数の生成形式について簡単に説明します。

インペリアルCMS6.0機能復号化のフィールド処理機能について

基本的なセットアップ手順:

1. 処理関数を作成します;

2. 関数を e/class/userfun にコピーします。 php ファイル内容;

3. フィールド設定処理関数名を変更します。

フィールド処理関数の形式:

function user_FieldFun($mid,$f,$isadd,$isq,$value,$cs){
        return $value;
}
ログイン後にコピー

パラメータの説明:

user_FieldFun: 関数名

$mid: システム モデル ID

$ f: フィールド名

$isadd: 値が 1 の場合は情報追加、値が 0 の場合は情報変更

$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 $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;
}
ログイン後にコピー

処理関数は多くのことを実現できます。上記は、非常に複雑なフィールド コンテンツのストレージ形式要件の簡単な例のほんの一部です。ユーザーはさらに実践する必要があります。

Empire cms の技術記事の詳細については、

Empire cms 二次開発 列をご覧ください。

以上がインペリアルCMS6.0機能復号化のフィールド処理機能についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)