POST TIME:2020-03-30 17:03
不管是哪個系統里,函數都是非常重要的。它主要是為了完成系統里的個性化文本的處理,并可以在不同的各個頁面多次使用。在織夢(DedeCMS)系統里,前后臺均能到處看到函數的影子。那么我們來深入徹底的將織夢(DedeCMS)系統的各個內置常用函數刨根問底出來吧。
課程內容
在織夢(DedeCMS)系統V5.7開始,絕大多數的函數都將以“小助手”的模式封裝,進行按需加載。它的存放路徑為: /include/helpers/
GetOneArchive($id)
函數作用:主要用于獲取指定的某篇文檔的各個信息,它返回的是一個數組。
參數含義:
1.$id 傳遞某篇文檔的ID號;
返回解釋:本函數將返回一個數組,該數組包含了所有的文檔元素。
相關鏈接:百度百科關于函數的解釋:http://baike.baidu.com/view/15061.htm#2
GetChannelTable($id,$formtype='channel')
函數作用:獲取指定模型的表名信息
參數含義:
1.$id 傳遞ID號,具體類別由$formtype決定;
2.$formtype 傳遞的類型(默認為模型ID,可選archive與typeid)
函數返回:返回的是一個數組(分別為主表表名和附加表表名)
GetTags($aid)
函數作用:獲取指定文檔ID的所有tag標簽
參數含義:
1.$aid 指定文檔ID編號;
函數返回:以字符串的形式返回所有的tag標簽(注:返回后的tag是無鏈接的純文字)
GetTopids($tid)
函數作用:獲取指定欄目的所有上級欄目ID列表
參數含義:
1.$tid 指定欄目的ID號
函數返回:以字符串的形式返回所有的上級欄目ID列表
GetTopid($tid)
函數作用:獲取指定欄目的頂級欄目ID;
參數含義:
1.$tid 指定欄目的ID號
函數返回:直接返回頂級欄目的欄目ID號。
注意GetTopid($tid)與GetTopids($tid)的區別,一個是返回所有,而另一個是返回單個。
GetSonIds($id,$channel=0,$addthis=true)
函數作用:獲取某欄目的所有下級欄目ID列表
參數含義:
1.$id 指定欄目ID編號
2.$channel 限定內容模型ID
3.$addthis 是否包含本身
函數返回:以字符串的形式返回結構
GetOneTypeUrlA($typeinfos)
函數作用:根據指定欄目信息獲取欄目的URL地址
參數含義:
1.$typeinfos 欄目的一些指定信息,當然,您可以直接傳遞某欄目的所有信息(數組);
函數返回:以字符串的形式返回URL地址
上面列出了6個我們在前臺比較常用的函數,下面我們再列出一些簡單的常見函數:
1.utf82gb($utfstr) UTF8編碼轉換為GBK編碼;
2.gb2utf8($gbstr) GBK編碼轉換為UTF8編碼;
3.AjaxHead() 禁止緩存頁面;
4.GetIP() 獲取用戶客戶端IP地址;
5.HtmlReplace($str,$rptype=0) 去除HTML中不規則的字符;
6.RemoveXSS($val) 移出瀏覽器XSS的漏洞;
7.TrimMsg($msg) 對變量禁用HTML但允許使用換行符;
8.FilterSearch($keyword) 過濾搜索的字符串;
9.cn_substr($str, $slen, $startdd=0) 字符串長度截取;
10.Text2Html($txt) 純文本轉為HTML;
11.Html2Text($str,$r=0) 將HTML轉為純文本;
12.GetPinyin($str, $ishead=0, $isclose=1) 獲取指定字符的拼音;
13.MyDate($format='Y-m-d H:i:s', $timest=0) 將Linux時間戳格式化為標準時間;
14.GetMkTime($dtime) 將標準時間轉換為Linux時間戳;
15.FloorTime($seconds) 將時間轉換為距離什么的精確時間;
16.GetCurUrl() 獲取當前頁面的腳本地址;
17.GetEditor($fname, $fvalue, $nheight="350", $etype="Basic", $gtype="print", $isfullpage="FALSE",$bbcode=false) 在程序里獲取編輯器;
18.dd2char($ddnum) 生成一個隨機字符;
19.json_encode($data) 對變量進行JSON編碼;
20.json_decode($json, $assoc=FALSE) 對變量進行JSON解碼;
以上就是在織夢(DedeCMS)系統里,比較常用的內置函數。現在挑選部分整理出來,希望能給需要的朋友一些參考
當然,您不要忘記了這只是內置函數,如果您有足夠的基礎,您完全可以封裝任何您需要的功能函數。我們也會根據具體情況爭取早日退出這類的相關專題教程。