




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ThroughoutCMS產(chǎn)品文檔文件 55/55CMS模板使用手冊(cè)Version 1.0北京思奧特科技發(fā)展有限公司2007年5月目 錄 TOC o 1-4 h z u HYPERLINK l _Toc183246342 1.0 前言 PAGEREF _Toc183246342 h 5 HYPERLINK l _Toc183246343 1.1 產(chǎn)品概述 PAGEREF _Toc183246343 h 5 HYPERLINK l _Toc183246344 1.2 文檔范圍 PAGEREF _Toc183246344 h 5 HYPERLINK l _Toc183246345 1.3 術(shù)語(yǔ)定義
2、 PAGEREF _Toc183246345 h 5 HYPERLINK l _Toc183246346 1.3.1 模板Template PAGEREF _Toc183246346 h 5 HYPERLINK l _Toc183246347 1.3.2 靜態(tài)頁(yè)HTML Page PAGEREF _Toc183246347 h 6 HYPERLINK l _Toc183246348 1.3.3 模板標(biāo)識(shí) TemplateTag PAGEREF _Toc183246348 h 6 HYPERLINK l _Toc183246349 1.4 讀者指南 PAGEREF _Toc183246349 h
3、 6 HYPERLINK l _Toc183246350 1.5 版本信息 PAGEREF _Toc183246350 h 6 HYPERLINK l _Toc183246351 2.0 模板運(yùn)行原理 PAGEREF _Toc183246351 h 7 HYPERLINK l _Toc183246352 2.1實(shí)現(xiàn)流程 PAGEREF _Toc183246352 h 7 HYPERLINK l _Toc183246353 2.2 實(shí)現(xiàn)的條件 PAGEREF _Toc183246353 h 7 HYPERLINK l _Toc183246354 2.3 模板的原型實(shí)例 PAGEREF _Toc1
4、83246354 h 7 HYPERLINK l _Toc183246355 2.3.1 模板代碼 PAGEREF _Toc183246355 h 7 HYPERLINK l _Toc183246356 2.3.2 接口定義 PAGEREF _Toc183246356 h 8 HYPERLINK l _Toc183246357 2.3.3 原型實(shí)現(xiàn)過(guò)程解釋 PAGEREF _Toc183246357 h 9 HYPERLINK l _Toc183246358 2.3.4 運(yùn)行結(jié)果 PAGEREF _Toc183246358 h 10 HYPERLINK l _Toc183246359 2.4
5、模板的應(yīng)用實(shí)例 PAGEREF _Toc183246359 h 11 HYPERLINK l _Toc183246360 2.4.1 模板代碼 PAGEREF _Toc183246360 h 11 HYPERLINK l _Toc183246361 2.4.2 接口定義 PAGEREF _Toc183246361 h 12 HYPERLINK l _Toc183246362 2.4.3實(shí)現(xiàn)過(guò)程解釋 PAGEREF _Toc183246362 h 12 HYPERLINK l _Toc183246363 3.0 使用指南 PAGEREF _Toc183246363 h 13 HYPERLINK
6、l _Toc183246364 3.1 初步理解模板的應(yīng)用 PAGEREF _Toc183246364 h 13 HYPERLINK l _Toc183246365 3.1.1 模板代碼 PAGEREF _Toc183246365 h 13 HYPERLINK l _Toc183246366 3.1.2 欄目區(qū)域配置 PAGEREF _Toc183246366 h 15 HYPERLINK l _Toc183246367 3.2 增加模板 PAGEREF _Toc183246367 h 16 HYPERLINK l _Toc183246368 3.3 修改模板 PAGEREF _Toc1832
7、46368 h 16 HYPERLINK l _Toc183246369 3.4模板的復(fù)用 PAGEREF _Toc183246369 h 16 HYPERLINK l _Toc183246370 4.0 模板詳細(xì)規(guī)范 PAGEREF _Toc183246370 h 17 HYPERLINK l _Toc183246371 4.1 模板的結(jié)構(gòu) PAGEREF _Toc183246371 h 17 HYPERLINK l _Toc183246372 4.2 模板的對(duì)象 PAGEREF _Toc183246372 h 18 HYPERLINK l _Toc183246373 4.2 模板的對(duì)象的屬
8、性 PAGEREF _Toc183246373 h 18 HYPERLINK l _Toc183246374 4.2.1 CMS發(fā)布頁(yè)面對(duì)象結(jié)構(gòu) PAGEREF _Toc183246374 h 18 HYPERLINK l _Toc183246375 4.2.2 頁(yè)面屬性 PAGEREF _Toc183246375 h 19 HYPERLINK l _Toc183246376 4.2.3 區(qū)域?qū)傩?PAGEREF _Toc183246376 h 19 HYPERLINK l _Toc183246377 4.2.4 內(nèi)容屬性 PAGEREF _Toc183246377 h 20 HYPERLIN
9、K l _Toc183246378 4.2.5 分頁(yè) PAGEREF _Toc183246378 h 23 HYPERLINK l _Toc183246379 4.4模板表達(dá)式 PAGEREF _Toc183246379 h 24 HYPERLINK l _Toc183246380 4.4.1 輸出表達(dá)式 PAGEREF _Toc183246380 h 24 HYPERLINK l _Toc183246381 4.4.2 循環(huán)表達(dá)式 PAGEREF _Toc183246381 h 24 HYPERLINK l _Toc183246382 4.4.3 判斷表達(dá)式 PAGEREF _Toc1832
10、46382 h 24 HYPERLINK l _Toc183246383 4.5 模板基礎(chǔ)函數(shù) PAGEREF _Toc183246383 h 25 HYPERLINK l _Toc183246384 4.5.1 equals PAGEREF _Toc183246384 h 25 HYPERLINK l _Toc183246385 4.5.2 notequals PAGEREF _Toc183246385 h 25 HYPERLINK l _Toc183246386 4.5.3 iseven PAGEREF _Toc183246386 h 25 HYPERLINK l _Toc18324638
11、7 4.5.4 isodd PAGEREF _Toc183246387 h 26 HYPERLINK l _Toc183246388 4.5.5 isempty PAGEREF _Toc183246388 h 26 HYPERLINK l _Toc183246389 4.5.5 isnotempty PAGEREF _Toc183246389 h 27 HYPERLINK l _Toc183246390 4.5.6 isnumber PAGEREF _Toc183246390 h 27 HYPERLINK l _Toc183246391 4.5.7 toupper PAGEREF _Toc18
12、3246391 h 28 HYPERLINK l _Toc183246392 4.5.7 tolower PAGEREF _Toc183246392 h 28 HYPERLINK l _Toc183246393 4.5.8 isdefined PAGEREF _Toc183246393 h 28 HYPERLINK l _Toc183246394 4.5.9 ifdefined PAGEREF _Toc183246394 h 29 HYPERLINK l _Toc183246395 4.5.10 len PAGEREF _Toc183246395 h 29 HYPERLINK l _Toc18
13、3246396 4.5.11 tolist PAGEREF _Toc183246396 h 29 HYPERLINK l _Toc183246397 4.5.12 isnull PAGEREF _Toc183246397 h 30 HYPERLINK l _Toc183246398 4.5.12 not PAGEREF _Toc183246398 h 31 HYPERLINK l _Toc183246399 4.5.13 iff PAGEREF _Toc183246399 h 31 HYPERLINK l _Toc183246400 4.5.14 format PAGEREF _Toc1832
14、46400 h 31 HYPERLINK l _Toc183246401 4.5.15 trim PAGEREF _Toc183246401 h 32 HYPERLINK l _Toc183246402 4.5.16 filter PAGEREF _Toc183246402 h 32 HYPERLINK l _Toc183246403 4.5.17 gt PAGEREF _Toc183246403 h 32 HYPERLINK l _Toc183246404 4.5.18 lt PAGEREF _Toc183246404 h 33 HYPERLINK l _Toc183246405 4.5.1
15、9 compare PAGEREF _Toc183246405 h 33 HYPERLINK l _Toc183246406 4.5.20 or PAGEREF _Toc183246406 h 33 HYPERLINK l _Toc183246407 4.5.21 and PAGEREF _Toc183246407 h 34 HYPERLINK l _Toc183246408 4.5.22 comparenocase PAGEREF _Toc183246408 h 34 HYPERLINK l _Toc183246409 4.5.23 comparenocase PAGEREF _Toc183
16、246409 h 34 HYPERLINK l _Toc183246410 4.6 模板擴(kuò)展函數(shù) PAGEREF _Toc183246410 h 35 HYPERLINK l _Toc183246411 4.6.1 MaxItem PAGEREF _Toc183246411 h 35 HYPERLINK l _Toc183246412 4.6.2 DisplayCaption PAGEREF _Toc183246412 h 35 HYPERLINK l _Toc183246413 4.6.3 GetFirstChar PAGEREF _Toc183246413 h 36 HYPERLINK l
17、 _Toc183246414 4.6.4 GetFormatedList PAGEREF _Toc183246414 h 36 HYPERLINK l _Toc183246415 4.6.5 IsMultiple PAGEREF _Toc183246415 h 36 HYPERLINK l _Toc183246416 4.6.6 IsMutiPage PAGEREF _Toc183246416 h 37 HYPERLINK l _Toc183246417 4.6.7 FormatedTime PAGEREF _Toc183246417 h 37 HYPERLINK l _Toc18324641
18、8 4.6.8 DispalyAttachment PAGEREF _Toc183246418 h 37 HYPERLINK l _Toc183246419 4.6.9 DisplayHtmlText PAGEREF _Toc183246419 h 38 HYPERLINK l _Toc183246420 4.6.10 FormatedFloat PAGEREF _Toc183246420 h 38 HYPERLINK l _Toc183246421 4.7 模板使用技巧 PAGEREF _Toc183246421 h 38 HYPERLINK l _Toc183246422 4.7.1 與H
19、tml結(jié)合 PAGEREF _Toc183246422 h 38 HYPERLINK l _Toc183246423 定制時(shí)間顯示格式 PAGEREF _Toc183246423 h 38 HYPERLINK l _Toc183246424 數(shù)值類型的輸出 PAGEREF _Toc183246424 h 39 HYPERLINK l _Toc183246425 判斷前n條 PAGEREF _Toc183246425 h 40 HYPERLINK l _Toc183246426 判斷內(nèi)容的某個(gè)屬性 PAGEREF _Toc183246426 h 41 HYPERLINK l _Toc183246
20、427 表格的輸出 PAGEREF _Toc183246427 h 42 HYPERLINK l _Toc183246428 子欄目以及子欄目的內(nèi)容列表聚合 PAGEREF _Toc183246428 h 44 HYPERLINK l _Toc183246429 附件輸出 PAGEREF _Toc183246429 h 45 HYPERLINK l _Toc183246430 字母分組表格輸出 PAGEREF _Toc183246430 h 45 HYPERLINK l _Toc183246431 4.7.2 特效 PAGEREF _Toc183246431 h 48 HYPERLINK l
21、_Toc183246432 彈出式窗口 PAGEREF _Toc183246432 h 48 HYPERLINK l _Toc183246433 Tab特效 PAGEREF _Toc183246433 h 48 HYPERLINK l _Toc183246434 幻燈片特效 PAGEREF _Toc183246434 h 48 HYPERLINK l _Toc183246435 5.0 模板應(yīng)用案例 PAGEREF _Toc183246435 h 49 HYPERLINK l _Toc183246436 5.1 首頁(yè)的模板 PAGEREF _Toc183246436 h 49 HYPERLIN
22、K l _Toc183246437 5.2 欄目頁(yè) PAGEREF _Toc183246437 h 53 HYPERLINK l _Toc183246438 附件(一)模板標(biāo)識(shí)參照表 PAGEREF _Toc183246438 h 541.0 前言1.1 產(chǎn)品概述北京思奧特科技公司的Web內(nèi)容管理系統(tǒng) ThroughoutCMS基于Microsoft ASP.Net、Microsoft SQL Server平臺(tái)開發(fā),充分利用了Windows ASP.Net平臺(tái)的優(yōu)勢(shì)。Web內(nèi)容管理系統(tǒng)(Content Management System,簡(jiǎn)稱CMS)是建設(shè)網(wǎng)站最有效的工具。思奧特WEB內(nèi)容管理
23、系統(tǒng),能夠讓各種(集中的)技術(shù)的和(分散的)非技術(shù)的人員在一定的規(guī)則、過(guò)程、工作流程的限制下,創(chuàng)建、編輯、管理和最終發(fā)布各種類型的內(nèi)容(如新聞、會(huì)議紀(jì)要、新書、文章、小說(shuō)、等),以保證一個(gè)一致、有效的網(wǎng)站形象。ThroughoutCMS建設(shè)在Windows IIS、 ASP.NET、SQL Server上,提高并發(fā)的用戶數(shù)量,降低用戶的響應(yīng)時(shí)間。1.2 文檔范圍本文檔針對(duì)ThroghoutCMS產(chǎn)品中的核心組件內(nèi)容發(fā)布引擎,也是針對(duì)系統(tǒng)部署實(shí)施開發(fā)網(wǎng)站的模板的編寫開發(fā)技術(shù)參考手冊(cè)。本文檔使用的模板引擎為C#開源,來(lái)源于網(wǎng)上,官方網(wǎng)站地址為: HYPERLINK 目前的新版本為2.0,采用C#2
24、.編寫,可以在官方網(wǎng)站進(jìn)行下載和獲得支持,本系統(tǒng)采用的是1版本,不是官方提供的,但是可以在以下進(jìn)行下在使用: HYPERLINK .au/TemplateEngine-1.1.zip .au/TemplateEngine-1.1.zip本系統(tǒng)在原有開源程序的基礎(chǔ)上進(jìn)行了封裝改進(jìn),增加了一些更加實(shí)用的函數(shù)借口;本文發(fā)布引擎的運(yùn)行機(jī)理、模板函數(shù)的語(yǔ)法介紹,作為模板編寫人員的技術(shù)參考手冊(cè)和規(guī)范。北京思奧特科技發(fā)展有限公司對(duì)于ThroughoutCMS的模板核心類庫(kù)享有知識(shí)產(chǎn)權(quán)并且對(duì)此負(fù)責(zé),解釋權(quán)歸北京思奧特科技發(fā)展有限公司所有。其他公開源代碼不負(fù)責(zé)解釋;1.3 術(shù)語(yǔ)定義1.3.1 模板Templat
25、e模板是ThoughoutCMS供欄目或者內(nèi)容進(jìn)行發(fā)布使用的風(fēng)格和數(shù)據(jù)框架;模板是嵌到模板標(biāo)簽字符到html文件中的特殊文件,模板是受ThroughoutCMS進(jìn)行管理的文件數(shù)據(jù);模板可以共享使用,也就是多個(gè)欄目或者多個(gè)內(nèi)容如果風(fēng)格一致、數(shù)據(jù)結(jié)構(gòu)一致的話,完全可以使用同一個(gè)模板;模板分為兩種:內(nèi)容頁(yè)(ContentClass Instance Web Page)和欄目頁(yè)(Content Category Polymer Web Page),首頁(yè)的模板是一種特殊的欄目頁(yè);1.3.2 靜態(tài)頁(yè)HTML Page靜態(tài)頁(yè)HTML Page是符合W3C規(guī)范的網(wǎng)頁(yè)文件,在用戶瀏覽的時(shí)候不進(jìn)行編譯和解釋而直接
26、運(yùn)行的標(biāo)準(zhǔn)網(wǎng)頁(yè)(相對(duì)于ASP/JSP/PHP/ASP.NET等)。ThourghoutCMS認(rèn)為:靜態(tài)頁(yè)是系統(tǒng)最終輸出的數(shù)據(jù)產(chǎn)品,是依靠ThroughoutCMS的強(qiáng)大高校的發(fā)布管理,而自動(dòng)生成的靜態(tài)頁(yè)面。1.3.3 模板標(biāo)識(shí) TemplateTag1.4 讀者指南本文檔是ThroughoutCMS產(chǎn)品的相關(guān)配套實(shí)施文檔。對(duì)于產(chǎn)品的實(shí)施和運(yùn)行管理有重要意義。本文檔分為以下部分,讀者可以根據(jù)自己的工作重點(diǎn)有選擇的閱讀參考。章節(jié)說(shuō)明期望讀者對(duì)象第二章、模板運(yùn)行原理技術(shù)原理解釋程序開發(fā)維護(hù)人員第三章、使用指南如何添加、修改、復(fù)用模板頁(yè)面設(shè)計(jì)和模板維護(hù)人員第四章、模板詳細(xì)技術(shù)規(guī)范詳細(xì)模板標(biāo)識(shí)技術(shù)規(guī)范頁(yè)
27、面設(shè)計(jì)和模板維護(hù)人員第五章、模板應(yīng)用案例案例講解模板編輯頁(yè)面設(shè)計(jì)和模板維護(hù)人員附件(一)模板標(biāo)識(shí)參照表模板標(biāo)識(shí)參考頁(yè)面設(shè)計(jì)和模板維護(hù)人員1.5 版本信息修改時(shí)間修改人員修改內(nèi)容版本2005年11月25日賈俊奎完成初稿框架0.12006年11月25日宋曉瑩初稿中增加CMS的數(shù)據(jù)結(jié)構(gòu)0.22006年12月27日宋曉瑩初高中增加中國(guó)作協(xié)的案例0.32007年05月25日賈俊奎初稿中整合了最新的擴(kuò)展函數(shù)和數(shù)據(jù)結(jié)構(gòu)0.42007年06月11日賈俊奎初稿中增加模板使用技巧說(shuō)明0.52.0 模板運(yùn)行原理 2.1實(shí)現(xiàn)流程網(wǎng)站內(nèi)容發(fā)布系統(tǒng),作為內(nèi)容發(fā)布的后臺(tái)應(yīng)用,專門處理待發(fā)布內(nèi)容的創(chuàng)建、修改、查詢、刪除、查詢
28、等任務(wù),同時(shí),還提供用戶管理、系統(tǒng)配置等管理功能。完整的應(yīng)用一個(gè)模板進(jìn)行內(nèi)容發(fā)布,必須經(jīng)過(guò)以下流程。依次如下:模板的制作原則上,一般的網(wǎng)頁(yè)都可以作為本系統(tǒng)的模板,但是模板的內(nèi)容要符合接口的規(guī)范。在網(wǎng)頁(yè)的頁(yè)面劃分出特定的區(qū)域作為待發(fā)布內(nèi)容的區(qū)域(可視區(qū)域),作相應(yīng)的標(biāo)注。接口的引入和定義在網(wǎng)站的ASP.NET程序文件中(通常是ASPX文檔),引入引擎動(dòng)態(tài)鏈接庫(kù),并且在Codebehind的文件的命名空間中引用。接口的實(shí)現(xiàn)在ASPX網(wǎng)頁(yè)文件的Page_Load()事件或者其他得函數(shù)事件中,實(shí)例化一個(gè)引擎類,搜集發(fā)布內(nèi)容,組合解釋為標(biāo)準(zhǔn)的靜態(tài)網(wǎng)頁(yè),進(jìn)行最后的發(fā)布。2.2 實(shí)現(xiàn)的條件正確的站點(diǎn)配置規(guī)范
29、的模板配置正確的接口類引用準(zhǔn)確的內(nèi)容數(shù)據(jù)來(lái)源2.3 模板的原型實(shí)例2.3.1 模板代碼下面是網(wǎng)頁(yè)模板的內(nèi)容發(fā)布區(qū)域的標(biāo)識(shí)的簡(jiǎn)單例子:tr bgcolor=lightgrey$i$.$field.date$2.3.2 接口定義對(duì)于實(shí)例A的接口實(shí)現(xiàn)的ASP.NET的代碼如下:using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System
30、.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using Ader.TemplateEngine;using Ader.TemplateEngine.Parser;using System.IO;namespace TemplateEngine1._1public class Test1 : System.Web.UI.Pageprivate void Page_Load(object sender, System.EventArgs e)IList members = new ArrayLis
31、t();for(int i = 0; i 16;i+) members.Add(new MemberInfo(我的控件,我的第+i.ToString()+個(gè)控件,2005-10-17); tryTemplateManager template2 = TemplateManager.FromFile( c:inetpubwwwrootTemplateEngine1.1home.htm);template2.SetValue(className, Customer);template2.SetValue(fields, members);template2.SetValue(bgColor, #F
32、EFEFE);Response.Write( template2.Process();catch(Exception ee)Response.Write(ee.Message );return;override protected void OnInit(EventArgs e)InitializeComponent();base.OnInit(e);private void InitializeComponent()this.Load += new System.EventHandler(this.Page_Load);public class MemberInfostring type;s
33、tring name;string date;public MemberInfo( string type,string name, string date) = name;this.type = type;this.date = date;public string Nameget return ; public string Typeget return this.type; public string Dategetreturn date;2.3.3 原型實(shí)現(xiàn)過(guò)程解釋以下是具體的一個(gè)具體的實(shí)現(xiàn)過(guò)程案例:首先,引入命名空間:using Ader.TemplateEngine;using A
34、der.TemplateEngine.Parser;其次,在Page_Load事件中創(chuàng)建一個(gè)輸出對(duì)象集合:IList members = new ArrayList();然后,向集合中添加內(nèi)容類實(shí)例:for(int i = 0; i 16;i+) members.Add(new MemberInfo(我的控件,我的第+i.ToString()+個(gè)控件,2005-10-17);再然后,實(shí)例化引擎類,添加必要參數(shù),設(shè)置各種屬性:TemplateManager template2 = TemplateManager.FromFile( c:inetpubwwwrootTemplateEngine1.
35、1home.htm);template2.SetValue(className, Customer);template2.SetValue(fields, members);template2.SetValue(bgColor, #FEFEFE);最后,輸出到客戶端:Response.Write(template2.Process(); 模板中的基本單位是元素(Element),每一個(gè)元素都是模板引擎和模板HTML文件進(jìn)行交互處理的處理單元。模板可以通過(guò)以下API接口進(jìn)行模板目標(biāo)文件的定位:Template template = Template.FromString(string name,
36、 string data);Template template = Template.FromFile(string name, string filename);模板管理器可以通過(guò)以下API接口進(jìn)行模板目標(biāo)文件的定位:TemplateManager mngr = new TemplateManager(template);模板管理器可以通過(guò)以下API接口進(jìn)行模板目標(biāo)文件的定位:TemplateManager mngr = TemplateManager.FromFile(filename);TemplateManager mngr = TemplateManager.FromString(t
37、emplate);ThroughoutCMS把模板文件作為系統(tǒng)日常的業(yè)務(wù)管理環(huán)節(jié),放入到了ThroughoutCMS數(shù)據(jù)庫(kù)中,參與日常系統(tǒng)管理;變量賦值:模板管理器可以通過(guò)以下API接口進(jìn)行模板目標(biāo)文件的標(biāo)識(shí)和程序數(shù)據(jù)對(duì)象進(jìn)行交互傳遞參數(shù)變量:mngr.SetValue(customer, new Customer(Tom, Jackson);模板元素分成三類:對(duì)象(Object)、表達(dá)式(Expression)、函數(shù)(Function)。2.3.4 運(yùn)行結(jié)果生成的HTML代碼如下:1.我的第0個(gè)控件2005-10-172.我的第1個(gè)控件2005-10-173.我的第2個(gè)控件2005-10-1
38、7最后,在網(wǎng)頁(yè)上顯示的效果如下所示:2.4 模板的應(yīng)用實(shí)例2.4.1 模板代碼下面是針對(duì)本次地調(diào)局內(nèi)容發(fā)布系統(tǒng)首頁(yè)的網(wǎng)頁(yè)模板的內(nèi)容發(fā)布區(qū)域的標(biāo)識(shí)的應(yīng)用例子B(舉例說(shuō)明其實(shí)現(xiàn)機(jī)理): $field.Label$ ($field.date$)更多2.4.2 接口定義/ 創(chuàng)建頁(yè)面欄目類PageChannes objPageChannes=new PageChannes(Page_Channel_Num);IList Channels = new ArrayList();Channels=(IList)objPageChannes.GetChannelList();/獲取數(shù)據(jù)try /在模板中設(shè)置標(biāo)識(shí)
39、,然后相應(yīng)的定義模板引擎屬性 TemplateManager template2 = TemplateManager.FromFile(Server.MapPath( home.htm); /把列表對(duì)象加入到標(biāo)識(shí)為“channels”的對(duì)象中。 template2.SetValue(channels, Channels); /輸出文本成為網(wǎng)頁(yè)。 Response.Write( template2.Process(); catch(Exception ee) Response.Write(ee.Message ); return;2.4.3實(shí)現(xiàn)過(guò)程解釋首先,引入命名空間:using Ader.T
40、emplateEngine;using Ader.TemplateEngine.Parser;其次,在Page_Load事件中創(chuàng)建一個(gè)輸出對(duì)象集合:IList Channels = new ArrayList();然后,向集合中添加內(nèi)容類實(shí)例:Channels=(IList)objPageChannes.GetChannelList();收集獲取發(fā)布數(shù)據(jù),可以從數(shù)據(jù)庫(kù)中讀取,或者從其他渠道獲得。再然后,實(shí)例化引擎類,添加必要參數(shù),設(shè)置各種屬性: /在模板中設(shè)置標(biāo)識(shí),然后相應(yīng)的定義模板引擎屬性 TemplateManager Default_Template= TemplateManager.F
41、romFile(Server.MapPath( home.htm); /把列表對(duì)象加入到標(biāo)識(shí)為“channels”的對(duì)象中。 Default_Template.SetValue(channels, Channels);最后,輸出到客戶端:Response.Write(Default_Template.Process(); 3.0 使用指南3.1 初步理解模板的應(yīng)用3.1.1 模板代碼以下是 HYPERLINK 中國(guó)作家網(wǎng)的首頁(yè),這里以局部(紅色)“作協(xié)新聞”為例,講解模板從制作和應(yīng)用發(fā)布的具體流程和示例講解:1、確定預(yù)期實(shí)現(xiàn)效果為1)顯示10條;2)如果有圖顯示紅色的“ (圖) ”; 3)前兩
42、條為加粗顯示,顯示30個(gè)字符;4)其余的8條顯示33個(gè)字符;在系統(tǒng)“工具” “站點(diǎn)參數(shù)配置”配置模板文件”模板文件列表中,找到首頁(yè)的模板,點(diǎn)擊修改可以查看具體的模板代碼:一下是截取的作協(xié)新聞的模板代碼: $DisplayCaption(Item.Caption,33)$DisplayCaption(Item.Caption,30)$(圖) 3.1.2 欄目區(qū)域配置從內(nèi)容管理首頁(yè)欄目的表現(xiàn)配置中,可以看到,首頁(yè)正是采用了以“首頁(yè)”模板作為模板輸出文件,并且配置了相應(yīng)的“作協(xié)新聞區(qū)域”:查看區(qū)域詳細(xì)配置:區(qū)域名稱為:作協(xié)新聞區(qū)域指向的欄目為:首頁(yè)新聞作協(xié)新聞區(qū)域類型:特殊內(nèi)容類的Item列表顯示的
43、內(nèi)容類:新聞內(nèi)容顯示的字段為:標(biāo)題(caption)、圖片(tupian)、正文數(shù)據(jù)(data)、簡(jiǎn)介(jianjie)、時(shí)間(shijian)最多顯示的數(shù)量為:10條;3.2 增加模板3.3 修改模板3.4模板的復(fù)用模板在一定條件下是可以進(jìn)行復(fù)用的,只要符合以下規(guī)則和要求,不同的欄目和內(nèi)容類是可以重復(fù)使用。一)欄目對(duì)象復(fù)用模板:只要區(qū)域配置對(duì)象數(shù)據(jù)結(jié)構(gòu)相同,只可以直接復(fù)用:例如:以下是中國(guó)地質(zhì)調(diào)查局網(wǎng)站近日更新欄目: HYPERLINK /JRgengxin/ /JRgengxin/:以下是中國(guó)地質(zhì)調(diào)查局網(wǎng)站公告欄欄目: HYPERLINK /Gonggao/ /Gonggao/:以下是兩個(gè)
44、欄目的表現(xiàn)配置頁(yè)面:其中,模板采用的都是新聞一級(jí)欄目模板,并且區(qū)域結(jié)構(gòu)相同:1、區(qū)域名稱2、區(qū)域類型注:區(qū)域表現(xiàn)的欄目和內(nèi)容數(shù)量可以不同二)內(nèi)容對(duì)象復(fù)用模板:內(nèi)容對(duì)象的復(fù)用模板較為簡(jiǎn)單,只要模板中含有的輸出元素能夠滿足,就可以復(fù)用。注:系統(tǒng)暫時(shí)不提供此接口4.0 模板詳細(xì)規(guī)范4.1 模板的結(jié)構(gòu)4.2 模板的對(duì)象模板的對(duì)象是在模板中進(jìn)行處理的對(duì)象。下面是一個(gè)具體的模板對(duì)象的應(yīng)用:首先,在模板的HTML文件中定義對(duì)象:| $page.PageTitle$ |其次,引擎中添加模板對(duì)象:Default_Template.SetValue(page, objPageInfo)其中,objPageInfo
45、是一個(gè)引擎的一個(gè)頁(yè)面對(duì)象,含有一系列的成員和方法,其中PageTitle表示其頁(yè)面標(biāo)題屬性。假設(shè):objPageInfo. PageTitle=” 歡迎訪問(wèn)中國(guó)地質(zhì)調(diào)查局網(wǎng)站”;那么,最后輸出的靜態(tài)頁(yè)面的效果就是:|歡迎訪問(wèn)中國(guó)地質(zhì)調(diào)查局網(wǎng)站|4.2 模板的對(duì)象的屬性網(wǎng)頁(yè)內(nèi)容的最終輸出結(jié)構(gòu)是一些列的模板對(duì)象的相應(yīng)屬性。屬性是模板引擎的最終輸出數(shù)據(jù)。模板的屬性的輸出處理采用編寫一系列的內(nèi)部對(duì)象來(lái)構(gòu)造,技術(shù)上采用了微軟DNET提供了反射技術(shù)來(lái)實(shí)現(xiàn)此功能。4.2.1 CMS發(fā)布頁(yè)面對(duì)象結(jié)構(gòu)4.2.2 頁(yè)面屬性對(duì)于首頁(yè)和欄目頁(yè)而言,頁(yè)面有很多的區(qū)域構(gòu)成,頁(yè)面對(duì)象是主區(qū)域,不用專門的添加區(qū)域,在欄目頁(yè)模
46、板中可以直接使用Page進(jìn)行訪問(wèn):Category_IDPTitlePNavigatorStringPageMenuCategory_NameCategory_DESCCategory_Display_NameCategoryURLCategory_ThemeImage4.2.3 區(qū)域?qū)傩詤^(qū)域是構(gòu)成首頁(yè)和欄目頁(yè)面的數(shù)據(jù)輸出部分。一個(gè)首頁(yè)和欄目頁(yè)面可以包含一個(gè)或者多個(gè)區(qū)域,進(jìn)行數(shù)據(jù)的聚合顯示。區(qū)域的配置涉及到如下要素區(qū)域名稱區(qū)域指向的欄目區(qū)域的類型區(qū)域的排序規(guī)則區(qū)域的內(nèi)容類屬性配置區(qū)域顯示的內(nèi)容條目的數(shù)量區(qū)域的屬性列表如下:可見(jiàn),和頁(yè)面屬性相似,多了Category_AreaCategoryNa
47、me/SubCateogrys/SubItems屬性。4.2.4 內(nèi)容屬性 固有屬性ID:固有屬性1,唯一標(biāo)識(shí)URL:固有屬性2,地址Caption:固有屬性3,標(biāo)題PublishedTime:固有屬性4,發(fā)布時(shí)間Duty_Editor:固有屬性5,責(zé)任編輯CategoryPath:固有屬性6,所在欄目固有屬性就是系統(tǒng)已經(jīng)內(nèi)部定義的對(duì)象的屬性,在模板文件中使用的時(shí)候可以直接采用就可以。擴(kuò)展屬性擴(kuò)展屬性是一個(gè)動(dòng)態(tài)的屬性,在應(yīng)用系統(tǒng)中本身并沒(méi)有相應(yīng)的屬性過(guò)程,根據(jù)用戶實(shí)際需要有用戶不需要修改程序代碼就可以添加的對(duì)象屬性,應(yīng)用的時(shí)候,在模板文件中需要添加Ext_后接屬性名稱的方式進(jìn)行應(yīng)用。注意:欄目
48、頁(yè)中需要添加Ext_,內(nèi)容頁(yè)中不需要。例如下圖為欄目頁(yè)輸出: $Item.Ext_TType$ $DisplayCaption(Item.Caption,13)$ $Item.PublishedTime$ 注:藍(lán)色的粗體為固有屬性,紅色粗體為擴(kuò)展屬性例如下圖為內(nèi)容頁(yè)輸出:可見(jiàn),在內(nèi)容頁(yè)重視不需要增加Ext_字符的 并且增加了多頁(yè)判斷 $PaginationNavigatorString$相關(guān)文章模板如下:$Item.Caption$Item.PublishedTime$ 注意:相關(guān)文章不能使用擴(kuò)展屬性,只能按照時(shí)間排序,參與自動(dòng)更新序列中;4.2.5 分頁(yè)分頁(yè)僅僅對(duì)于以下數(shù)據(jù)有效:此欄目沒(méi)有子
49、欄目:此欄目不引用其他欄目(只有一個(gè)區(qū)域);此欄目的分頁(yè)形式是按照內(nèi)容數(shù)量進(jìn)行分頁(yè);HTML標(biāo)識(shí)描述應(yīng)用$PaginationMaker$輸出分頁(yè)結(jié)構(gòu)頁(yè)面輸出分頁(yè)信息$PaginationMaker.CurrentPageIndex$當(dāng)前頁(yè)碼$PaginationMaker.PageNumber$分頁(yè)數(shù)量$PaginationMaker.PageSize$每頁(yè)顯示數(shù)量$PaginationMaker.TotleDataCount$數(shù)據(jù)總量$PaginationMaker.FirstPageIndex$首頁(yè)碼$PaginationMaker.PreviousPageIndex$上一頁(yè)碼$Pagi
50、nationMaker.NextPageIndex$下一頁(yè)碼$PaginationMaker.LastPageIndex$末頁(yè)頁(yè)碼編寫:第$PaginationMaker.CurrentPageIndex$頁(yè)/共$PaginationMaker.PageNumber$頁(yè)首頁(yè)上一頁(yè)下一頁(yè)末頁(yè)4.4模板表達(dá)式4.4.1 輸出表達(dá)式HTML標(biāo)識(shí)描述應(yīng)用$object$輸出object內(nèi)容頁(yè)面輸出內(nèi)容注意:模板數(shù)據(jù)輸出的時(shí)候,最終將會(huì)輸出對(duì)象的.ToString()函數(shù)結(jié)果;對(duì)象可以使用函數(shù)進(jìn)行調(diào)用;對(duì)象可以直接采用字符串的固定函數(shù)進(jìn)行訪問(wèn),大小寫不敏感, $tring.length$或者采取以下方式
51、,效果均一致: $tring.LENGTH$如果數(shù)據(jù)敏感字符,則需要$object$進(jìn)行處理;$trim(somename)$,4.4.2 循環(huán)表達(dá)式HTML標(biāo)識(shí)描述應(yīng)用ad:foreach循環(huán)語(yǔ)句開始和后續(xù)的標(biāo)識(shí)要空格相隔Collection=遍歷的集合雙引號(hào)進(jìn)行對(duì)象的引用var=集合中的某個(gè)對(duì)象雙引號(hào)進(jìn)行對(duì)象的引用index=循環(huán)計(jì)數(shù)器雙引號(hào)進(jìn)行對(duì)象的引用循環(huán)語(yǔ)句結(jié)束4.4.3 判斷表達(dá)式HTML標(biāo)識(shí)描述應(yīng)用ad:if判斷語(yǔ)句開始和后續(xù)的標(biāo)識(shí)要空格相隔Test=判斷條件開始雙引號(hào)進(jìn)行對(duì)象的引用判斷語(yǔ)句結(jié)束4.5 模板基礎(chǔ)函數(shù)4.5.1 equals【描述】:判斷兩個(gè)對(duì)象是否相同;invok
52、es equals method on obj1 with obj2 as parameter. Returns boolean value.【參數(shù)】:equals(obj1, obj2)判斷兩個(gè)對(duì)象object【返回結(jié)果】:如果相同,返回true;如果不同;返回false;【說(shuō)明】:【舉例】:$equals(地 調(diào) 項(xiàng) 目 管 理,channel.Label)$4.5.2 notequals【描述】:判斷兩個(gè)對(duì)象是否不相同;Returns !equals(obj1, obj2). Is equivalent to calling: not(equals(obj1, obj2).【參數(shù)】:no
53、tequals(obj1, obj2)判斷兩個(gè)對(duì)象object【返回結(jié)果】:如果不同,返回true;如果相同;返回false;【說(shuō)明】:【舉例】:$notequals(地 調(diào) 項(xiàng) 目 管 理,項(xiàng)目管理)$4.5.3 iseven【描述】:判斷參數(shù)是否為奇數(shù);tests whether number is an even number.【參數(shù)】:iseven(num)非負(fù)整數(shù);【返回結(jié)果】:如果是,返回true;如果不是;返回false;【說(shuō)明】:【舉例】:bgcolor=#FFFFFF如果為奇數(shù),則輸出背景為白色4.5.4 isodd【描述】:判斷參數(shù)是否為偶數(shù);tests whether n
54、umber is an odd number.【參數(shù)】:isodd(num)非負(fù)整數(shù);【返回結(jié)果】:如果是,返回true;如果不是;返回false;【說(shuō)明】:【舉例】:bgcolor=#000000如果為偶數(shù),則輸出背景為黑色4.5.5 isempty【描述】:判斷參數(shù)是否為0個(gè)字符;tests whether string has 0 characters. Same as equals(string.Length, 0). 【參數(shù)】:isempty(string)字符串;【返回結(jié)果】:如果是,返回true;如果不是;返回false;【說(shuō)明】:等同于函數(shù)equals(string.Lengt
55、h, 0)【舉例】:如果沒(méi)有圖片,用替換圖形,如果有圖,則顯示圖形;4.5.5 isnotempty【描述】:判斷參數(shù)是否為大于0個(gè)字符;tests whether string has at least 1 character.【參數(shù)】:isnotempty(string)字符串;【返回結(jié)果】:如果是,返回true;如果不是;返回false;【說(shuō)明】:【舉例】:(圖)如果Item.Ext_tupian的參數(shù)值大于0個(gè)字符,則輸出“(圖)”標(biāo)識(shí);4.5.6 isnumber【描述】:是否為數(shù)值;tests whether num is of numeric type.【參數(shù)】:isnumber
56、(num)字符串;【返回結(jié)果】:如果是,返回true;如果不是;返回false;【說(shuō)明】:【舉例】:4.5.7 toupper【描述】:轉(zhuǎn)換為大寫;converts string to upper case.【參數(shù)】:toupper(string)字符串;【返回結(jié)果】:字符串【說(shuō)明】:【舉例】:4.5.7 tolower【描述】:轉(zhuǎn)換為小寫;converts string to lower case.【參數(shù)】:tolower(string)字符串;【返回結(jié)果】:字符串【說(shuō)明】:【舉例】:4.5.8 isdefined【描述】:判斷變量是否定義;tests whether variable na
57、med varname is defined.【參數(shù)】:isdefined(varname);【返回結(jié)果】:字符串【說(shuō)明】:【舉例】:$i$4.5.9 ifdefined【描述】:如果定義,則輸出,如果沒(méi)有定義,直接輸出為空; returns value if varname is defined. Especially useful: #ifdefined(name, name)# - will output value of name if its defined, otherwise will output nothing.【參數(shù)】:ifdefined(varname, value)參數(shù)
58、名稱參數(shù)值,字符串;【返回結(jié)果】:字符串【說(shuō)明】:【舉例】:$ifdefined(name, name)$4.5.10 len【描述】:輸出字符串的長(zhǎng)度; returns length of string.【參數(shù)】:len(string);【返回結(jié)果】:字符串,長(zhǎng)度【說(shuō)明】:【舉例】:4.5.11 tolist【描述】:This function will convert collection to string with delim as separator. If you pass property, the value of the property will be evaluated
59、on each element of the collection. If you omit property, then the object itself will be used;【參數(shù)】:tolist(collection, delim)tolist(collection, property, delim)【返回結(jié)果】:字符串,長(zhǎng)度【說(shuō)明】:【舉例】:在程序中使用如下數(shù)據(jù)變量: ArrayList list = new ArrayList(); list.Add(one); list.Add(two); list.Add(three); template.SetValue(mylist
60、, list);在模板中使用如下命令:$toList(mylist, & )$輸出結(jié)果將會(huì)是:one & two & three在程序中使用如下數(shù)據(jù)變量: list.Add(new Customer(Tom, Whatever); list.Add(new Customer(Henry, III); list.Add(new Customer(Tom, Jackson); template.SetValue(mylist, list);在模板中使用如下命令:$toList(mylist, firstName, ,)$輸出結(jié)果將會(huì)是:Tom,Henry,Tom.4.5.12 isnull【描述】
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度專業(yè)養(yǎng)老院保姆雇傭服務(wù)協(xié)議書
- 2025年度物流倉(cāng)儲(chǔ)資金托管管理合同
- 二零二五年度房產(chǎn)交易房屋委托補(bǔ)充協(xié)議(含爭(zhēng)議解決機(jī)制)
- 二零二五年度廢塑料瓶回收與清潔能源生產(chǎn)合同模板
- 二零二五年度稻田土地承包經(jīng)營(yíng)與農(nóng)業(yè)環(huán)境保護(hù)合同
- 超市財(cái)務(wù)工作個(gè)人計(jì)劃
- 二零二五年度專業(yè)展會(huì)展臺(tái)設(shè)計(jì)制作安裝合同
- 2025年度新能源汽車合伙炒股合同
- 二零二五年度解除勞動(dòng)合同員工離職經(jīng)濟(jì)補(bǔ)償金核算與支付合同
- 2025年度股東向公司借款還款順序及比例約定合同
- 接上童氣:小學(xué)《道德與法治》統(tǒng)編教材研究
- 武器講解課件
- 通勤車租賃投標(biāo)方案(技術(shù)標(biāo))
- 關(guān)于魯迅簡(jiǎn)介
- 余華讀書分享名著導(dǎo)讀《文城》
- 植物組織培養(yǎng)(園林植物教研組)-說(shuō)課稿
- 高三二輪專題復(fù)習(xí)化學(xué)課件-分布系數(shù)(分?jǐn)?shù))圖像
- 支委委員辭去職務(wù)申請(qǐng)書
- 【橋梁工程的發(fā)展趨勢(shì)與思考5300字】
- 云南省蒙自市長(zhǎng)橋海水庫(kù)擴(kuò)建工程環(huán)評(píng)報(bào)告
- 質(zhì)量手冊(cè)(依據(jù)ISO9001:2023年標(biāo)準(zhǔn))
評(píng)論
0/150
提交評(píng)論