久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

KooCMS模板引擎詳解

來(lái)自站長(zhǎng)百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

導(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ì)象:

  1. 站點(diǎn)信息對(duì)象,對(duì)象名:siteInfo,具有的SiteName屬性。
  2. 數(shù)學(xué)操作輔助對(duì)象,對(duì)象名:math,用于常見的數(shù)學(xué)計(jì)算。
  3. 字符操作輔助對(duì)象,對(duì)象名:string,用于常見的字符串操作。
  4. 隨機(jī)數(shù)操作輔助對(duì)象,對(duì)象名:random,用于操作隨機(jī)數(shù)。
  5. 會(huì)員系統(tǒng)設(shè)置信息對(duì)象,對(duì)象名:membership,封裝會(huì)員系統(tǒng)的相關(guān)設(shè)置信息。
  6. 系統(tǒng)常量集合對(duì)象,對(duì)象名:literal,封裝后臺(tái)設(shè)置的系統(tǒng)常量集合。

對(duì)于動(dòng)態(tài)頁(yè)模板,模板引擎除了輸出上面靜態(tài)頁(yè)輸出的6大對(duì)象外,還輸出以下五大對(duì)象:

  1. 當(dāng)前用戶身份信息對(duì)象,對(duì)象名:identity,封裝當(dāng)前登錄用戶的身份信息
  2. 當(dāng)前請(qǐng)求POST集合對(duì)象,對(duì)象名:form,封裝當(dāng)前請(qǐng)求的POST數(shù)據(jù)集合
  3. 當(dāng)前用戶的會(huì)話對(duì)象,對(duì)象名:session,封裝當(dāng)前請(qǐng)求的Session集合
  4. 當(dāng)前請(qǐng)求QUERYSTRING集合對(duì)象,對(duì)象名:query,封裝當(dāng)前請(qǐng)求的GET請(qǐng)求的QueryString數(shù)據(jù)集合
  5. 當(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)條目[ ]


參考來(lái)源[ ]