WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營(yíng)銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
KooCMS模板引擎詳解
導(dǎo)航: 上一頁(yè)
在KooCMS系統(tǒng)中,所有前臺(tái)頁(yè)面(包括靜態(tài)頁(yè)面和動(dòng)態(tài)頁(yè)面)都是由模板解析引擎負(fù)責(zé)數(shù)據(jù)的獲取,頁(yè)面的渲染的。
這中間涉及到三個(gè)重要的概念:標(biāo)簽,對(duì)象,模板
標(biāo)簽[ ]
#if #set #foreash 這些是系統(tǒng)標(biāo)簽
#news #pager #newslist 這些是擴(kuò)展標(biāo)簽
系統(tǒng)標(biāo)簽和擴(kuò)展標(biāo)簽都采用相同的語(yǔ)法,只是參數(shù)形式不同。
兩者的區(qū)別在于:系統(tǒng)標(biāo)簽用于在模板中實(shí)現(xiàn)基本的執(zhí)行邏輯:順序、判斷、循環(huán)、賦值等。擴(kuò)展標(biāo)簽是基本系統(tǒng)標(biāo)簽上擴(kuò)展的標(biāo)簽語(yǔ)法,作用在于通過(guò)參數(shù)的設(shè)置從系統(tǒng)中(通常是數(shù)據(jù)庫(kù))獲得符合相應(yīng)條件的數(shù)據(jù),并將在封裝到對(duì)象,輸出到模板中。
對(duì)象[ ]
模板中的對(duì)象以下列方式來(lái)調(diào)用:
對(duì)象名.屬性名,對(duì)象名.方法名(參數(shù)1,參數(shù)2....)
模板中的對(duì)象可以從三種方式產(chǎn)生:
- 第一種方式是調(diào)用#set標(biāo)簽,進(jìn)行賦值。
- 第二種方式是調(diào)用擴(kuò)展標(biāo)簽。如,調(diào)用#news標(biāo)簽,則系統(tǒng)會(huì)返回一個(gè)名為newsInfo的文章對(duì)象,調(diào)用該標(biāo)簽后,就可以以 $newsInfo.屬性名的方式來(lái)獲取該對(duì)象的屬性值。
- 第三種方式則是模板解析引擎根據(jù)當(dāng)前的上下文,默認(rèn)輸出的對(duì)象。
前兩種方式很好理解,這里需要詳細(xì)介紹第三種方式:
對(duì)于靜態(tài)頁(yè)模板,模板引擎會(huì)自動(dòng)輸出以下對(duì)象:
- 站點(diǎn)信息對(duì)象,對(duì)象名:siteInfo,具有的SiteName屬性。
- 數(shù)學(xué)操作輔助對(duì)象,對(duì)象名:math,用于常見的數(shù)學(xué)計(jì)算。
- 字符操作輔助對(duì)象,對(duì)象名:string,用于常見的字符串操作。
- 隨機(jī)數(shù)操作輔助對(duì)象,對(duì)象名:random,用于操作隨機(jī)數(shù)。
- 會(huì)員系統(tǒng)設(shè)置信息對(duì)象,對(duì)象名:membership,封裝會(huì)員系統(tǒng)的相關(guān)設(shè)置信息。
- 系統(tǒng)常量集合對(duì)象,對(duì)象名:literal,封裝后臺(tái)設(shè)置的系統(tǒng)常量集合。
對(duì)于動(dòng)態(tài)頁(yè)模板,模板引擎除了輸出上面靜態(tài)頁(yè)輸出的6大對(duì)象外,還輸出以下五大對(duì)象:
- 當(dāng)前用戶身份信息對(duì)象,對(duì)象名:identity,封裝當(dāng)前登錄用戶的身份信息
- 當(dāng)前請(qǐng)求POST集合對(duì)象,對(duì)象名:form,封裝當(dāng)前請(qǐng)求的POST數(shù)據(jù)集合
- 當(dāng)前用戶的會(huì)話對(duì)象,對(duì)象名:session,封裝當(dāng)前請(qǐng)求的Session集合
- 當(dāng)前請(qǐng)求QUERYSTRING集合對(duì)象,對(duì)象名:query,封裝當(dāng)前請(qǐng)求的GET請(qǐng)求的QueryString數(shù)據(jù)集合
- 當(dāng)前請(qǐng)求的cookie集合,對(duì)象名:cookie,封裝當(dāng)前請(qǐng)求包含的Cookie數(shù)據(jù)集合。
特別的,在欄目頁(yè)的模板里,系統(tǒng)默認(rèn)為輸出當(dāng)前欄目對(duì)象,對(duì)象名為columnInfo,因此在欄目頁(yè)可以直接調(diào)用columnInfo對(duì)象
同樣,在文章內(nèi)容頁(yè)模板里,系統(tǒng)默認(rèn)為輸出當(dāng)前文章對(duì)象,對(duì)象名為newsInfo,因此在內(nèi)容頁(yè)可以直接調(diào)用newsInfo對(duì)象
模板[ ]
使用標(biāo)簽、對(duì)象的屬性值的調(diào)用,html代碼的組合。
模板文件可以嵌套、包含 ,相關(guān)的語(yǔ)法標(biāo)簽是:#parse 標(biāo)簽、#include標(biāo)簽。
相關(guān)條目[ ]