




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、WEBCMS SYSTEM DESIGN日期說明作者備注2005-09-02本文給出了CMS系統(tǒng)的整體結構和具體功能及操作格式的設計。Eric新建2005-09-08對TAG的定義和數(shù)據(jù)對象CMS的定義做了細化和整理Eric2005-09-08增加允許指定任意文件或目錄上載到遠程服務器任意目錄中功能Eric2005-09-08對PROJECT最終生成WEBSITE時的資源目錄轉換進行定義Eric2005-09-08定義了變量目錄及其傳遞方法和文件參數(shù)傳遞及使用方法Eric2005-09-09對GALLERY對象進行了修改使之可以實現(xiàn)自動生成多頁Eric2005-09-18增加了對資源屬性文件的
2、定義Eric2005-09-19將Object_Url的屬性名稱由url修改為cms索引系統(tǒng)架構功能與界面資源與模板自定義TAG模板制作與使用目錄操作文件參數(shù)傳遞系統(tǒng)目標系統(tǒng)的目標是實現(xiàn)一種CMS系統(tǒng),這種系統(tǒng)將WEB頁面的數(shù)據(jù)和顯示格式分離,可以讓頁面格式設計者和數(shù)據(jù)操作者分別容易的操作和變更其各自相關部分,并且通過某種操作方法可以任意的組合頁面模板和要顯示的數(shù)據(jù)集合,最終允許自動生成一個靜態(tài)HTML網(wǎng)站,并自動發(fā)布到遠程網(wǎng)站上,并且能夠?qū)Χ鄠€網(wǎng)站進行同步。系統(tǒng)架構本CMS系統(tǒng)的主要構成部分和之間的關系如下圖所示。遠程上載系統(tǒng)本系統(tǒng)的主要功能是將指定的資源,比如文件、圖像、視頻等同步更新到一
3、個或多個目標主機上,類似FTP上載的功能,但是要求使用程序調(diào)用的接口來完成。上載時要注意速度、錯誤處理和易用性等方面。上載系統(tǒng)分為兩部分,一部分是整站上載,一部分是可以指定單獨上載一個多個文件或目錄到指定位置。目前情況目前只實現(xiàn)了PROJECT到FTP-WEBSITE和LOCAL-WEBSITE的整站上載功能。頁面生成系統(tǒng)本系統(tǒng)的目標是,通過指定媒體資源和其屬性以及對模版的匹配最終生成靜態(tài)/動態(tài)的HTML頁面。遠程管理系統(tǒng)該系統(tǒng)完成對遠程基于WIN/LINUX系統(tǒng)的管理,包括對系統(tǒng)的目錄創(chuàng)建、刪除、數(shù)據(jù)上載下載、數(shù)據(jù)訪問、修改等。類似于一個WEBFTP系統(tǒng)或WEBLINUX系統(tǒng)。該系統(tǒng)是為了方
4、便的對遠程目標資源進行管理。該系統(tǒng)應該提供統(tǒng)一管理功能,即能同時登陸多個網(wǎng)站對目標同時進行管理。目前情況目前只實現(xiàn)了對遠程FTP資源進行瀏覽的功能。資源管理系統(tǒng)本系統(tǒng)要求方便的管理媒體資源,對媒體資源的更新,變更,添加,刪除等都有比較方便的操作。并且允許對大量資源進行管理。同時對資源要求有各種屬性管理以及提供統(tǒng)一的資源定位標志以便于與模版內(nèi)容連接。系統(tǒng)也應該允許連接遠程資源,在線編輯遠程系統(tǒng)資源,以擴充系統(tǒng)資源管理能力。目前情況目前只實現(xiàn)了對各種資源的上載、下載、刪除、修改名稱等基本操作。模版管理系統(tǒng)本系統(tǒng)用于制作和管理各種模版。模版中需要變更的部分需要使用替換標識表示出來。注意替換表示的靈活
5、和多樣性。目前情況目前只實現(xiàn)了模板語言中的命令語法,包括FOR/IF/NOTE/INCLUDE/LET幾個語句。用戶管理系統(tǒng)本系統(tǒng)的使用者包括數(shù)據(jù)管理者,模版管理者,項目管理者,系統(tǒng)管理員等多個角色,對應不同的角色,他們可以看到和允許操作的系統(tǒng)視圖是不同的,系統(tǒng)應該提供一個包含權限設置的用戶管理系統(tǒng)以確保上面的需求可以實現(xiàn)。目前情況目前此部門還沒有開始考慮。系統(tǒng)的數(shù)據(jù)關系WEBSITE 定義WEBSITE的HTTP訪問和數(shù)據(jù)管理途徑,比如FTP接口等。DATABASE 具備唯一性的原始數(shù)據(jù)使用基于樹型結構存放的管理系統(tǒng)。RESOURCE 對DATABASE的各種不同映射,包含了資源的訪問順序,
6、有效期等設置。TEMPLATE 定義HTML頁面內(nèi)嵌的RESOURCE資源的顯示樣式。PROJECT 定義WEBSITE結構,同時集成TEMPLATE和RESOURCE資源,然后按照數(shù)據(jù)和顯示的定義自動生成最終的靜態(tài)頁面系統(tǒng),并發(fā)布到指定的WEBSITE資源上去。WEBSITE的定義對于WEBSITE我們需要了解的內(nèi)容包括URL地址,IP地址,HTTP端口,F(xiàn)TP端口,F(xiàn)TP用戶名和密碼,F(xiàn)TP初始目錄等信息。有了這些信息,一方面我們可以方便的訪問這些資源,也可以通過其FTP接口對網(wǎng)站資源進行更新等管理。DATABASE定義我們需要建立一個樹型目錄,然后允許各種數(shù)據(jù)資源以樹型結構被保存在這個D
7、ATABASE數(shù)據(jù)庫系統(tǒng)中。存放到DATABASE數(shù)據(jù)庫中的數(shù)據(jù)最終應該有一個唯一的URI路徑來訪問對應的數(shù)據(jù),以保證其中的數(shù)據(jù)訪問唯一性。并且我們應該記錄這些資源被引用的情況,以便當對資源的位置進行變更時,相應的關聯(lián)關系也可以被手動或自動更新。對于資源中的某一節(jié)點,我們同時會提供這個節(jié)點的相關信息用于對這個節(jié)點進行詳細描述。RESOURCE定義RESOURCE實際上是DATABASE在不同項目上的資源映射。一個RESOURCE資源可以是一個DATABASE的資源的連接,也可以是外部的一個資源連接。不同RESOURCE資源可以引用相同的DATABASE資源。RESOURCE的存在為DATABA
8、SE提供了一種多視圖管理的手段。一個RESOURCE可以包含各種不同的圖象,視頻,文字的組合,并且其中的元素可以有不同的提取順序和開關狀態(tài)。TEMPLATE定義TEMPLATE定義HTML頁面的各種顯示布局和樣式。為一個TEMPLATE替換不同的RESOURCE,可以讓其顯示不同的數(shù)據(jù)內(nèi)容。PROJECT定義我們把一個在生成網(wǎng)站時邏輯上屬于一個網(wǎng)站的目錄結構,TEMPLATE和RESOURCE等資源的組合稱為一個PROJECT。我們首先定義這個PROJECT的目錄結構,然后對PROJECT中各個頁面引用TEMPLATE和相關的RESOURCE,對他們進行組合和設置。最終生成一個生成最終網(wǎng)站之前
9、的一個PROJECT項目。對這個PROJECT我們可以在其上運行預覽和發(fā)布指令,生成轉換后的最終網(wǎng)站系統(tǒng)。功能與界面關于WEBSITE的管理WEBSITE可以在CMS中定義和管理,通過下面的WEBSITE管理界面,用戶可以輕易的在預先定義的幾個經(jīng)常訪問的網(wǎng)站中瀏覽網(wǎng)站。同時,由于定義了WEBSITE的FTP/SMB等管理信息,我們同時還可以提供類似DATABASE樹型管理界面的通過FTP/SMB等協(xié)議來管理遠程網(wǎng)站的管理界面。下面是定義一個WEBSITE的界面,主要包含網(wǎng)站的URL信息,網(wǎng)站的FTP訪問信息等。下面是對網(wǎng)站的瀏覽界面,系統(tǒng)可以方便的查看多個網(wǎng)站的當前最新的顯示信息。系統(tǒng)還應該提
10、供對每一網(wǎng)站的當前狀態(tài)和使用信息的查詢,比如下面的情況,給出了sample1網(wǎng)站的基本信息,比如IP地址,F(xiàn)TP端口信息等,同時還可以獲得網(wǎng)站上資源的總數(shù),資源配額信息,以及當前的同步狀態(tài)等。此外,如果能獲得此網(wǎng)站的運行負載信息,比如CPU利用率,內(nèi)存使用量等,將會更好。這些信息對管理和查看網(wǎng)站當前狀態(tài)都會有很大幫助。DATABASE管理系統(tǒng)下面是DATABASE的目錄管理的樹型結構界面樣式,可以看出通過瀏覽器,管理員就可以容易的創(chuàng)建目錄,并在此目錄中上載文件。一些其它操作,比如刪除目錄,目錄改名,刪除文件,文件改名以及文件和目錄的移動等都可以容易的實現(xiàn)。此外在DATABASE中,每一個資源都
11、包含對這個資源的一個詳細描述,以及這個資源被RESOURCE引用的關系信息。這里的資源,既可以是一個單一的文件,也可以是一個包含多個單一資源的目錄。下面是對應一個文件或目錄顯示的其相關備注信息和被引用的關聯(lián)信息。DATABASE中每一個資源和每一個資源目錄都應該包含類似下面內(nèi)容的關聯(lián)信息。RESOURCE的管理下面是添加一個RESOURCE的界面。我們可以看出,一個RESOURCE,其可以是URL,也可以是本地文件,也可以是目錄,同時也可以是一個DATABASE資源,也可以是對另一個RESOURCE的引用。并且可以包含多個不同類別的資源的引用。可以看出,一個RESOURCE就是一個各種資源的邏
12、輯集合。此外,對于某一指定RESOURCE,可以定義其中資源的讀取順序,其中的順序包括“隨機讀取”,“按時間Schedule”,“按名稱排序”,“按時間排序”,“最新的排在最前邊”,“順序讀取”等。利用RESOURCE的這個屬性,可以實現(xiàn)在最終網(wǎng)頁上按一定規(guī)律動態(tài)顯示RESOURCE中的資源。TEMPLATE的管理下面是一個TEMPLATE的定義和管理界面。一個TEMPLATE包含兩大部分,一個是VIEW,另一個是OBJECT,其中VIEW表示只涉及界面顯示樣式和格式的定義,而OBJECT表示內(nèi)嵌到這個VIEW中的數(shù)據(jù)集合。當為一個TEMPLATE的VIEW設置OBJECT時,顯示如下配置信息
13、 上面的配置中,數(shù)據(jù)集合是一個RESOURCE的集合,并且包含對這些RESOURCE數(shù)據(jù)顯示順序的一個規(guī)定。PROJECT的管理下圖是對PROJECT的管理界面,通過這個PROJECT界面,擁護可以輕易的定義一個網(wǎng)站的物理結構。并且可以對其中的目錄和HTML文件等進行方便的編輯和管理。在編輯每一個PROJECT文件時,其屬性包含如下信息。在PROJECT中還應該提供對屬于TEMPLATE中的VIEW資源進行預覽,以查看其經(jīng)過裝載OBJECT數(shù)據(jù)后的顯示界面樣式。網(wǎng)站同步當有了PROJECT后,就可以將PROJECT與指定的WEBSITE資源進行同步。同時某WEBSITE被同步后,還可以設置其與
14、其它網(wǎng)站的同步。下面首先是定義同步時間策略,我們把同步時間定義看成是一組資源的定義,這樣我們可以方便的選取和變更各種同步策略。同步可以包含一次同步,定期同步等,同時也可以設置同步時是否覆蓋相同的資源,是否刪除不被同步的目標網(wǎng)站上的資源。同步策略定義好后,我們就可以定義以某個PROJECT或WEBSITE為原始網(wǎng)站,然后定義其要同步的目標網(wǎng)站組以及同步策略。在提供整站同步功能的同時,系統(tǒng)還提供一個工具,允許指定任意一個或多個數(shù)據(jù)或目錄上載到遠程服務器的指定目錄中。系統(tǒng)的功能大致如下面界面所示:資源與模版上面通過系統(tǒng)界面原型大致介紹了一下系統(tǒng)主要功能。下面我們具體定義各種配置文件和TAG規(guī)范信息。
15、配置文件格式定義通用配置文件refer := 給出所有使用本資源的實體列表 對于DATABASE類型數(shù)據(jù),可引用它的包含 RESOURCE,TEMPLATE和PROJECT類型實體。stat := OPEN|CLOSE 關閉狀態(tài)表示資源不可用open := <N> 給出當前資源使用者的數(shù)量,0表示沒有人在使用time : = create_time,edit_time,access_time create_time := 表示本數(shù)據(jù)創(chuàng)建的時間 edit_time := 表示被數(shù)據(jù)被編輯的時間 access_time := 表示本數(shù)據(jù)最后訪問的時間user := create_use
16、r,edit_user,access_user create_user := 表示數(shù)據(jù)創(chuàng)建者 edit_user := 表示最后編輯者 access_user := 表示最后使用者<configuration> <stat>OPEN|CLOSE</stat> <refers> <refer>resource:/res_name1/path/name1</refer> <refer>resource:/res_name2/path/name2</refer> <refer>resource
17、:/res_name2/path/name2</refer> </refers> <open>4</open> <access_log> <create time="2005/08/31 20:00:00" uname="wangl1"/> <edit time="2005/08/31 22:20:00" uname="light"/> <access time="2005/09/01 08:23:10"
18、uname="light"/></access_log></configuration>上面的配置在每個資源中都應該有記錄。<<< DATABASE資源定義 >>>o URI定義data:/database_name/path1/path2/pathn/data_name其中data : 為關鍵字,表示被URI指向的是一個DATABASE類型database_name : 為本database的名稱。 此名稱是一個指代,實際上可能是來自不同數(shù)據(jù)源。比如 ftp:/user:namehost:port/ smb
19、:/user:namehost:port/ ldap:/user:namehost:port/ 具體的database_name有專門的定義模塊pathn/ : 此處的path為目錄值。data_name : 此為最終的數(shù)據(jù)文件名稱,支持通配符DATABASE資源被分為如下幾類IMAGE, TEXT, VIDEO, URL,DATAIMAGE OBJECT <xml><object mode=”image” > <title url=""> </title><descr url=""><!
20、CDATA></descr><alt></alt><url></url><width>200</width><height>200</height></object></xml>IMAGE OBJECT方法CMS.Image 直接返回Image文件的URLdescry)descry/url)URL OBJECT<xml><object mode=”url” > <title url=""></ti
21、tle><descr url=""></descr><url></url></object></xml>URL OBJECT方法CMS.Url直接返回 URL 地址descry/url)VIDEO OBJECT <xml><OBJECT mode=”video” > <title url=""></title> <descr url=""><!CDATA></descr> &
22、lt;url></url><width></width><height></height></OBJECT></xml>VIDEO OBJECT方法CMS.Video直接返回 VIDEO 的 URLdescry/url)TEXT OBJECT<xml><OBJECT mode=”text” > <title url=""></title><descr url=""><!CDATA></de
23、scr></OBJECT></xml>TEXT OBJECT 方法CMS.Text直接返回 TEXT 的 URLdescr/url)DATA OBJECT <xml><OBJECT mode=”data”> <title url=""></title><descr url=""><!CDATA></descr><age></age><city></city><addtime><
24、/addtime></OBJECT></xml>DATA OBJECT 方法CMS.Data直接返回DATA的URLdescr/url)系統(tǒng)默認所有的CMS對象屬性和方法關鍵字大小寫都不敏感<<<RESOURCE資源定義 >>>RESOURCE文件以“.cms”作為結尾引用格式為cms:/resourcename/path/name.cms其中cms:/為保留字NAME OBJECT<xml><OBJECT mode=”name”><name cms=”data:/root/kkk/*/”/>
25、<name cms=”data:/root/kkk/image/*.jpeg”/></OBJECT></xml>當url以”/”結尾時,表示取目錄名稱,否則表示取文件名稱。NAME OBJECT 方法CMS.Name返回與通配符對應的名稱CMS.Name(2)返回第二個name通配符名稱OBJECT OBJECT這個對象用來表示一組含有讀取順序和讀取個數(shù)的資源集合OBJECT資源對DATABASE資源的引用同一個目錄下的某一特定文件data:/database1/path1/path2/pathn/data_name不同目錄下相同位置的圖片data:/dat
26、abase1/path1/pathn/*/large/01.jpegdata:/database1/path1/pathn/*/small/01.jpegdata:/database2/path1/pathn/*/small/02.jpeg同一目錄下的所有子文件data:/databaseN/path1/path2/pathn/path_name/*不同目錄下的多個文件data:/databaseN/path1/path2/pathn/*/small/*.jpeg<xml><OBJECT mode=”object” > <title url=""
27、;></title><descr url=""></descr><object> <video cms="db:/db_name1#sort(name)”/> <image cms="db:/db_name1#sort(random),num(2)”/> <image cms ="db:/db_name2#sort(schedule),num(2)”/> <url cms ="db:/db_name2#sort(random),num(4)
28、”/> <data cms ="db:/db_name2#sort(random),num(4)”/><text cms ="db:/db_name2#sort(random),num(4)”/><name cms =”data:/dataname/root/bbb/*/”/><object cms ="res:/res_name2#sort(random),num(4)”/></object></OBJECT></xml>其中sort := +/-TIME|+/-NAME|
29、+/-SIZE|RANDOM|SCHEDULE|SEQOBJECT OBJECT 方法CMS.TitleCMS.DescrCMS.Image()可以展開Image對象屬性方法CMS.Video()可以展開Video對象屬性方法CMS.Text()可以展開Text對象屬性方法CMS.Url()可以展開Url對象屬性方法CMS.Data()可以展開Data對象屬性方法CMS.Object()可以展開Object對象屬性方法多重對象的定位方法CMS.Image(1)訪問第一個Image對象CMS.Image(2) 訪問第二個Image對象CMS.Image(1)(1) 訪問第一個對象中的第一個圖象文
30、件的URLCMS.Image(2).title(3)返回第二Image對象中的第3個title屬性值GALLERY OBJECT<xml> <OBJECT mode=”gallery”> <title url=""></title> <descr url=""></descr> <object><video cms ="db:/db_name1#sort(name)”/><image cms ="db:/db_name1#sort(r
31、andom),num(2)”/><image cms ="db:/db_name2#sort(schedule),num(2)”/><url cms ="db:/db_name2#sort(random),num(4)”/><data cms ="db:/db_name2#sort(random),num(4)”/><text cms ="db:/db_name2#sort(random),num(4)”/><object cms =”res:/res_name1/name#sort(rando
32、m),num(4)”/></object> <range begin="” end="”/> <page row=” col=”/><page output=”/> 或 </OBJECT></xml>GALLERY OBJECT 方法CMS.titleCMS.descrCMS.Image()可以展開Image對象方法CMS.Video()可以展開Video對象方法CMS.Url()可以展開Url對象方法CMS.Text()可以展開Text對象方法CMS.Data()可以展開Data對象方法CMS.
33、Object()可以展開Object對象方法返回一頁中GALLERY行數(shù)返回一頁中GALLERY列數(shù)判斷是否為第一頁判斷是否為最后一頁返回當前頁序號返回總頁數(shù)顯示跳轉回主頁的URL顯示跳轉到下一頁的URLCMS.Anchor.prev顯示跳轉到前一頁的URL系統(tǒng)默認所有的CMS對象屬性和方法關鍵字大小寫都不敏感<<< TEMPLATE制作 >>>TEMPLATE文件以“.chtml”作為結尾TEMPLATE文件的引用格式為mplatename/path/name.chtml其中”chtml:/”為保留字TEMPLATE實際上就是一段HTML代碼,其中使用了C
34、MS對象的各種屬性和方法。同時還使用了CMS自定義TAG作為特殊的控制或引用、注釋等功能。下面是一個例子:<table border="1" width="100%" height="100%"><CMS FOR="BEGIN" FROM="1" TO=""/> <tr> <CMS MODE="NOTE">Here Have some CMS Code</CMS> <CMS FOR=&quo
35、t;BEGIN" FROM="1" TO="”/><td width="20%"><IMG SRC=”CMS.Image” BORDER=”0”></IMG></td> <CMS FOR="END"/> </tr><CMS FOR="END"/></table>如果一個TEMPLATE中要包含多個不同的CMS對象,我們使用CMS(ID).Object來區(qū)分。同時在引用CMS對象文件時,要使用ID
36、標識符,比如<CMS INCLUDE=”default.cms” ID=”id1”/><CMS INCLUDE=”index.cms” ID=”id2”/>下面表示使用上面兩個資源文件中index.cms資源文件作為CMS對象的TEMPLATE代碼<IMG SRC=”CMS(id2).Image” BORDER=”0”></IMG><<< PROJECT的使用 >>>PROJECT文件的結尾可能是如下之一“.html”,”.htm”,”.php”下面是引用了兩個模版的HTML文件,其中第一個模版還使用了兩個RE
37、SOURCE資源文件index.html<HTML><HEAD></HEAD><BODY><CMS INCLUDE=”chtml:/template/t1.chtml”><CMS INCLUDE=”cms:/cmsname/1.cms” ID=”t1”/><CMS INCLUDE=”/2.cms” ID=”t2”/></CMS><CMS INCLUDE=”chtml:/template/t2.chtml”><CMS INCLUDE=”cms:/cmsname/2.cms” ID=”
38、r1”/></CMS></BODY></HTML>系統(tǒng)在定義INCLUDE對象時,會給其賦予一個唯一的ID值,這個值用來區(qū)分具有相同文件類型的多個文件被同時包括進某一文件中的情況。下面是這個文件的GUI編輯界面PROJECT屬性頁其中TargetRoot表示PROJECT在轉換到WEBSITE上時,被放置的根目錄。TargetImageRoot表示PROJECT中圖象等引用資源被放置的位置。當TargetRoot=”/Discuz”,并且TargetImageRoot=”/Images”時,表示所有PROJECT動態(tài)生成的HTML等靜態(tài)文件將被放到/D
39、iscuz目錄中,同時各種圖象,視頻等文件將被放置到以/Images/為根的目錄中。自定義TAG<<< TEMPLATE的TAG定義 >>>這里我們定義存在于TEMPLATE中的預定義TAG,這些TAG用來標識將來會被替換的位置。TAG定義的原則是1保證瀏覽器在顯示時,不會影響未定義TAG的部分。2TAG應該允許出現(xiàn)在HTML中的任意位置,并且允許任意細的粒度。3TAG應該很容易的被發(fā)現(xiàn)和替換為目標數(shù)據(jù)。TAG定義類別1引用外部文檔<CMS INCLUDE=” ID=”/>2取得對象值CMS.Object2.1替換對象值<CMS SET=”
40、/>3循環(huán)<CMS FOR=”BEGIN” FROM=” TO=”/><CMS FOR=”END”/>4條件判斷<CMS IF=”BEGIN” TRUE=”/><CMS IF=”ELSEIF” TRUE=”/><CMS IF=”ELSE”/><CMS IF=”END”/> 6注釋<CMS MODE=”NOTE”></CMS>系統(tǒng)默認所有的自定義TAG大小寫都不敏感o 引用外部文檔<CMS INCLUDE="File.cms" ID=”id”/>其中ID屬性是可選
41、項,當為同一個TEMPLATE文件加載多個cms文件時,需要使用ID屬性來區(qū)分不同cms文件中的對象。如果只使用一個Cms到TEMPLATE文件中,則這個ID屬性可以省略掉。o 替換對象可以使用的CMS替換對象包括CMS的屬性和函數(shù),對CMS對象函數(shù)的引用,使用o()的格式。當對對象中多個相同屬性進行引用時,需要使用下標,例如CMS(1).Object(2).value(4)表示使用ID標識為1的cms資源中的第2個Object對象的第4個屬性值。舉例IMAGE定義<img src="Winter.jpg" width="50" height=&q
42、uot;50" alt="Winter.jpg"><IMG SRC="CMS.Image" WIDTH="" HEIGHT="" ALT="">譬如,如果只想調(diào)用資源文件中的圖象對象,但是圖象的高和寬想自定義,則可以按如下顯示<IMG SRC="CMS.Image" WIDTH="50" HEIGHT="40" ALT="">上面語句表示,調(diào)用CMS資源中的圖象資源,并且圖象的
43、ALT屬性使用CMS資源中與圖象對應的ALT屬性內(nèi)容。并且每個圖象都按寬50,高40來顯示。如果圖象的全部屬性都想使用CMS資源中的定義,可以按如下方法調(diào)用<IMG SRC="CMS.Image" WIDTH="" HEIGHT="" ALT="">舉例TEXT定義<p align="center">Title</p><p align="center">This is a detail Description</p>
44、<p align="center"><input type="button" value="Button" name="B1"> <p align="center">This is CMS.Text() content</p>o 替換對象值使用如下命令可以替換CMS對象中的值<CMS SET=”/>o 循環(huán)循環(huán)TAG為<CMS FOR=”BEGIN” FROM=” TO=”/><CMS FOR=”END”/>舉例
45、TABLE定義下面是描述一個TABLE的方法<table border="1" width="100%" height="100%"><CMS FOR="BEGIN" FROM="1" TO=""/> <tr> <CMS MODE="NOTE">Here Have some CMS Code</CMS> <CMS FOR="BEGIN" FROM="1"
46、; TO="”/><td width="20%"> <IMG SRC=”CMS.Image()” BORDER=”0”></IMG><!- display content of CMS.Video(),CMS.Image(),CMS.Text()CMS.Url(),CMS.Data()-> </td> <CMS FOR="END"/> </tr><CMS FOR="END"/></table>o 條件判斷條件判斷
47、TAG為<CMS IF=”BEGIN” TRUE=”/><CMS IF=”ELSEIF” TRUE=”/><CMS IF=”ELSE”/><CMS IF=”END”/>舉例ANCHOR定義 <A HREF="">next</A> <A HREF="">main</A> <A HREF="">prev</A> <A HREF="">main</A><CMS IF=&qu
48、ot;ELSE"/> <A HREF="">next</A> <A HREF="">prev</A> <A HREF="">main</A><CMS IF="END"/>舉例STATUS獲取<CMS IF="BEGIN" TRUE=""/> This is the 1st page<CMS IF="ELSE"/> This is NO
49、T the 1st page<CMS IF="END"/>You are viewing page $o 注釋定義NOTE定義<CMS MODE="NOTE">Here Have some CMS Code</CMS>此內(nèi)容僅為顯示模版時做注釋使用,正式生成HTML頁面時被CMS TAG包含的內(nèi)容 ” Here Have some CMS Code” 將被去掉。模版制作與使用下面給出一些實際應用例子例1 顯示一個1x4 圖象BANNER/image/snapshot/snapshot1.jpeg/image/snaps
50、hot/snapshot2.jpeg/image/snapshot/snapshot1.jpeg.xml<xml><object mode=”image” > <title url="">TEXT BOOKS</title><descr url=""><!CDATAthis is a data zone></descr><alt>"TEXT BOOKS"</alt><url></url><width
51、>200</width><height>200</height></object></xml>cms:/resource/snapshot.cms顯示/image/snapshot/目錄下最新的4個圖片資源<object mode=”object” name=”banner”> <image cms ="data:/aaa/image/snapshot/*.jpeg#sort(-TIME),num(4)"/></object>chtml:/template/snapshot
52、.chtml<table border="0" width="100%" height="142" cellpadding="0"><tr> <CMS FOR=”BEGIN” FROM=”1” TO=”4”/><td width="25%" height="136"><p align="center">CMS.Image.title<img src="" width=&q
53、uot;" height="" alt=""></p><CMS FOR=”END”/></td> </tr></table>snapshot.html<HTML><HEAD></HEAD><BODY><CMS INCLUDE=”chtml:/template/snapshot.chtml”><CMS INCLUDE=”cms:/resource/snapshot.cms”></CMS></B
54、ODY></HTML>例2 顯示一個2x5 文字BANNER/url/banner/banner_text1.xml<xml><OBJECT mode=”url” > <title url="/cgi-bin/website?name=aaa">aaa</title></OBJECT><OBJECT mode=”url” > <title url="/cgi-bin/website?name=bbb">nnn</title></OBJE
55、CT><OBJECT mode=”url” > <title url="/cgi-bin/website?name=ccc">kkk</title></OBJECT><OBJECT mode=”url” > <title url="/cgi-bin/website?name=ddd">pppp</title></OBJECT></xml>RESOURCEcms:/resource/banner1.cms<url url="da
56、ta:/aaa/url/banner/banner_text1.xml"/>TEMPLATEchtml:/template1/banner_text1.chtml<CMS INCLUDE=”cms:/cmsname1/banner1.cms”/><table border="0" width="100%" cellspacing="0" cellpadding="0" height="114"><CMS FOR="BEGIN" F
57、ROM="1" TO="2"/> <tr> <CMS FOR="BEGIN" FROM="I = 1" TO="5"/> <CMS IF="BEGIN" TRUE="$I % 2 = 1"/> <td width="20%" align="center" height="60" bgcolor="#C0C0C0"> <
58、/td> <CMS IF="ELSE" /> <td width="20%" align="center" height="60"> </td> <CMS IF="END" /> </tr><CMS FOR="END" /></table><CMS INCLUDE=”END”/>banner_text1.html<HTML><HEAD></HEA
59、D><BODY><CMS INCLUDE=” chtml:/tempalte1/banner1_text.chtml”><CMS INCLUDE=” cms:/resource/banner1.cms”></CMS></BODY></HTML>例3 一個組合單元/tour/lisa/introduce.xml<xml><object mode=”data”> <title url="">LISA</title><descr url="
60、">this is Lisa</descr><age>18</age><city>LosAngeles, CA</city><addtime>2005-09-07</addtime></object></xml>/resource/tour1.cms<object mode=”object” name=”tour1”> <data cms ="data:/aaa/tour/*/introduce.xml"/> <image
61、 cms ="data:/aaa/tour/*/image/small/#sort(random),num(4)”/> <image cms ="data:/aaa/tour/*/image/big/#sort(random)"/> <video cms ="data:/aaa/tour/*/video/"#sort(random)"/> <url cms ="data:/aaa/member/*/index.html"/></object>tour1.chtm
62、l<CMS INCLUDE="res:/resource1/path/tour1.cms" /><table border="0" width="75%" height="174" cellspacing="0" cellpadding="0"> <tr> <td width="34%" height="61"> <img src="CMS.Image(1)" w
63、idth="180" height="120" alt="CMS.Image(1).alt"></td> <td width="33%" height="122" rowspan="2"> <img src="CMS.Image(2)" width="360" height="240" alt="CMS.Image(2).alt"></td>
64、<td width="33%" height="61"> <img src="CMS.Image(1)" width="180" height="120" alt="CMS.Image(1).alt"></td> </tr> <tr> <td width="34%" height="61"> <img src="CMS.Image(1)"
65、width="180" height="120" alt="CMS.Image(1).alt"></td> <td width="33%" height="61"> <img src="CMS.Image(1)" width="180" height="120" alt="CMS.Image(1).alt"></td> </tr> <tr>
66、 <td width="100%" colspan="3" height="18"> <p align="center">ACCESS HERE FREE ACCESS</a> </p></td> </tr></table><CMS INCLUDE=”END”/>例4 一個文字BANNER 5x4單元方法1text.cms<xml><object mode=”text”> <title url="/cgi-bin/dir?name=aaa">aaa</title&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025鋼筋加工承包合同
- 2025智能設備銷售的代理合同
- 2025二級建筑師房建聘用合同
- 2025新型環(huán)保材料研發(fā)與技術轉讓合同
- 2025停車位使用權轉讓合同范本
- 登山活動贊助合同協(xié)議
- 電纜架機租賃合同協(xié)議
- 生產(chǎn)設備拆除合同協(xié)議
- 環(huán)保勞務報酬合同協(xié)議
- 疆校服采購合同協(xié)議
- 2025年河南應用技術職業(yè)學院單招職業(yè)適應性測試題庫含答案
- 私募股權投資風險識別技術-深度研究
- 衛(wèi)生院、社區(qū)衛(wèi)生服務中心公民個人信息安全管理制度
- 微訓練 一文多考 備考高效之小說《十八歲的李響》蔡楠-教師版
- 課件:《科學社會主義概論(第二版)》第四章
- 2025年上半年江蘇省蘇州市總工會招錄社會化工會工作者18人易考易錯模擬試題(共500題)試卷后附參考答案
- 工廠廢料運輸清理協(xié)議
- 管道安全培訓課件:泄漏事故預防與應急處置
- 2024年河南藝術職業(yè)學院高職單招語文歷年參考題庫含答案解析
- 2025年全球及中國生物制藥過濾行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年湖北仙桃市城投公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論