二次開發常見問題


1、如果開啟了「關閉前台所有動態頁面」選項,二次開發的文件如何能存取?
答案:可以在開發的程式碼頂部一行加上:define('EmpireCMSAdmin','1');
就可以不受此設定影響。

2、LoadLang()導入語言包檔案路徑是如何表示的
答:匯入語言包檔案位址是相對於 ../data/language/ 目錄,範例:
(1)、如果程式檔案在/e/extend/目錄,例如:/e/extend/a.php,則匯入語言包可以用:
require LoadLang('pub/fun.php');
(2)、如果程式檔案在/e/extend/helloworld/目錄,例如:/e/extend/helloworld/a.php,則匯入語言套件可以用:
require '../'.LoadLang('pub/fun.php');
(3)、如果程式檔案在根目錄,例如:/a.php,則導入語言包可以用:
require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');

3、$editor宣告目錄層次變數是如何表示的:
答案:此變數如果沒有使用printerror()等函數可以不設定。
預設$editor變數為0。
當程式檔案在/e/path/目錄,$editor不用設置,也就是用預設0。
當程式檔案在/e/path/path2/目錄,$editor=1。
當程式檔案在/e/path/path2/path3/目錄,$editor=2。
當程式檔案在/e/path/path2/path3/path4/目錄,$editor=3。

4、匯入檔案介紹:
匯入欄位、專題、標題分類快取檔案:/e/data/dbcache/class.php
匯入會員群組快取檔案:/e/data/dbcache/MemberLevel.php
# 匯入標籤函數檔:/e/class/t_functions.php
# 導入編譯標籤檔:/e/class/functions.php

5、推薦變數過濾處理
(1)、數字型變數可以用(int)或intval函數處理,範例:
$page=(int)$_GET['page'];

$page=intval($_GET['page']);
(2)、帶小數點的數字型變數可以用(float)或floatval函數處理,範例:
$money=(float)$money;

$money=floatval($money);
(3)、字元型處理:
不帶空格或其他特殊符號的,用
RepPostVar()函數過濾

帶空格或其他特殊符號的用:
RepPostVar2()函數濾波

寫入資料庫的用:
RepPostStr()函數濾波