本文给出了CMS系统的整体结构和具体功能及操作格式的设_第1页
本文给出了CMS系统的整体结构和具体功能及操作格式的设_第2页
本文给出了CMS系统的整体结构和具体功能及操作格式的设_第3页
本文给出了CMS系统的整体结构和具体功能及操作格式的设_第4页
本文给出了CMS系统的整体结构和具体功能及操作格式的设_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、WEBCMS SYSTEM DESIGN日期说明作者备注2005-09-02本文给出了CMS系统的整体结构和具体功能及操作格式的设计。Eric新建2005-09-08对TAG的定义和数据对象CMS的定义做了细化和整理Eric2005-09-08增加允许指定任意文件或目录上载到远程服务器任意目录中功能Eric2005-09-08对PROJECT最终生成WEBSITE时的资源目录转换进行定义Eric2005-09-08定义了变量目录及其传递方法和文件参数传递及使用方法Eric2005-09-09对GALLERY对象进行了修改使之可以实现自动生成多页Eric2005-09-18增加了对资源属性文件的

2、定义Eric2005-09-19将Object_Url的属性名称由url修改为cms索引系统架构功能与界面资源与模板自定义TAG模板制作与使用目录操作文件参数传递系统目标系统的目标是实现一种CMS系统,这种系统将WEB页面的数据和显示格式分离,可以让页面格式设计者和数据操作者分别容易的操作和变更其各自相关部分,并且通过某种操作方法可以任意的组合页面模板和要显示的数据集合,最终允许自动生成一个静态HTML网站,并自动发布到远程网站上,并且能够对多个网站进行同步。系统架构本CMS系统的主要构成部分和之间的关系如下图所示。远程上载系统本系统的主要功能是将指定的资源,比如文件、图像、视频等同步更新到一

3、个或多个目标主机上,类似FTP上载的功能,但是要求使用程序调用的接口来完成。上载时要注意速度、错误处理和易用性等方面。上载系统分为两部分,一部分是整站上载,一部分是可以指定单独上载一个多个文件或目录到指定位置。目前情况目前只实现了PROJECT到FTP-WEBSITE和LOCAL-WEBSITE的整站上载功能。页面生成系统本系统的目标是,通过指定媒体资源和其属性以及对模版的匹配最终生成静态/动态的HTML页面。远程管理系统该系统完成对远程基于WIN/LINUX系统的管理,包括对系统的目录创建、删除、数据上载下载、数据访问、修改等。类似于一个WEBFTP系统或WEBLINUX系统。该系统是为了方

4、便的对远程目标资源进行管理。该系统应该提供统一管理功能,即能同时登陆多个网站对目标同时进行管理。目前情况目前只实现了对远程FTP资源进行浏览的功能。资源管理系统本系统要求方便的管理媒体资源,对媒体资源的更新,变更,添加,删除等都有比较方便的操作。并且允许对大量资源进行管理。同时对资源要求有各种属性管理以及提供统一的资源定位标志以便于与模版内容连接。系统也应该允许连接远程资源,在线编辑远程系统资源,以扩充系统资源管理能力。目前情况目前只实现了对各种资源的上载、下载、删除、修改名称等基本操作。模版管理系统本系统用于制作和管理各种模版。模版中需要变更的部分需要使用替换标识表示出来。注意替换表示的灵活

5、和多样性。目前情况目前只实现了模板语言中的命令语法,包括FOR/IF/NOTE/INCLUDE/LET几个语句。用户管理系统本系统的使用者包括数据管理者,模版管理者,项目管理者,系统管理员等多个角色,对应不同的角色,他们可以看到和允许操作的系统视图是不同的,系统应该提供一个包含权限设置的用户管理系统以确保上面的需求可以实现。目前情况目前此部门还没有开始考虑。系统的数据关系WEBSITE 定义WEBSITE的HTTP访问和数据管理途径,比如FTP接口等。DATABASE 具备唯一性的原始数据使用基于树型结构存放的管理系统。RESOURCE 对DATABASE的各种不同映射,包含了资源的访问顺序,

6、有效期等设置。TEMPLATE 定义HTML页面内嵌的RESOURCE资源的显示样式。PROJECT 定义WEBSITE结构,同时集成TEMPLATE和RESOURCE资源,然后按照数据和显示的定义自动生成最终的静态页面系统,并发布到指定的WEBSITE资源上去。WEBSITE的定义对于WEBSITE我们需要了解的内容包括URL地址,IP地址,HTTP端口,FTP端口,FTP用户名和密码,FTP初始目录等信息。有了这些信息,一方面我们可以方便的访问这些资源,也可以通过其FTP接口对网站资源进行更新等管理。DATABASE定义我们需要建立一个树型目录,然后允许各种数据资源以树型结构被保存在这个D

7、ATABASE数据库系统中。存放到DATABASE数据库中的数据最终应该有一个唯一的URI路径来访问对应的数据,以保证其中的数据访问唯一性。并且我们应该记录这些资源被引用的情况,以便当对资源的位置进行变更时,相应的关联关系也可以被手动或自动更新。对于资源中的某一节点,我们同时会提供这个节点的相关信息用于对这个节点进行详细描述。RESOURCE定义RESOURCE实际上是DATABASE在不同项目上的资源映射。一个RESOURCE资源可以是一个DATABASE的资源的连接,也可以是外部的一个资源连接。不同RESOURCE资源可以引用相同的DATABASE资源。RESOURCE的存在为DATABA

8、SE提供了一种多视图管理的手段。一个RESOURCE可以包含各种不同的图象,视频,文字的组合,并且其中的元素可以有不同的提取顺序和开关状态。TEMPLATE定义TEMPLATE定义HTML页面的各种显示布局和样式。为一个TEMPLATE替换不同的RESOURCE,可以让其显示不同的数据内容。PROJECT定义我们把一个在生成网站时逻辑上属于一个网站的目录结构,TEMPLATE和RESOURCE等资源的组合称为一个PROJECT。我们首先定义这个PROJECT的目录结构,然后对PROJECT中各个页面引用TEMPLATE和相关的RESOURCE,对他们进行组合和设置。最终生成一个生成最终网站之前

9、的一个PROJECT项目。对这个PROJECT我们可以在其上运行预览和发布指令,生成转换后的最终网站系统。功能与界面关于WEBSITE的管理WEBSITE可以在CMS中定义和管理,通过下面的WEBSITE管理界面,用户可以轻易的在预先定义的几个经常访问的网站中浏览网站。同时,由于定义了WEBSITE的FTP/SMB等管理信息,我们同时还可以提供类似DATABASE树型管理界面的通过FTP/SMB等协议来管理远程网站的管理界面。下面是定义一个WEBSITE的界面,主要包含网站的URL信息,网站的FTP访问信息等。下面是对网站的浏览界面,系统可以方便的查看多个网站的当前最新的显示信息。系统还应该提

10、供对每一网站的当前状态和使用信息的查询,比如下面的情况,给出了sample1网站的基本信息,比如IP地址,FTP端口信息等,同时还可以获得网站上资源的总数,资源配额信息,以及当前的同步状态等。此外,如果能获得此网站的运行负载信息,比如CPU利用率,内存使用量等,将会更好。这些信息对管理和查看网站当前状态都会有很大帮助。DATABASE管理系统下面是DATABASE的目录管理的树型结构界面样式,可以看出通过浏览器,管理员就可以容易的创建目录,并在此目录中上载文件。一些其它操作,比如删除目录,目录改名,删除文件,文件改名以及文件和目录的移动等都可以容易的实现。此外在DATABASE中,每一个资源都

11、包含对这个资源的一个详细描述,以及这个资源被RESOURCE引用的关系信息。这里的资源,既可以是一个单一的文件,也可以是一个包含多个单一资源的目录。下面是对应一个文件或目录显示的其相关备注信息和被引用的关联信息。DATABASE中每一个资源和每一个资源目录都应该包含类似下面内容的关联信息。RESOURCE的管理下面是添加一个RESOURCE的界面。我们可以看出,一个RESOURCE,其可以是URL,也可以是本地文件,也可以是目录,同时也可以是一个DATABASE资源,也可以是对另一个RESOURCE的引用。并且可以包含多个不同类别的资源的引用。可以看出,一个RESOURCE就是一个各种资源的逻

12、辑集合。此外,对于某一指定RESOURCE,可以定义其中资源的读取顺序,其中的顺序包括“随机读取”,“按时间Schedule”,“按名称排序”,“按时间排序”,“最新的排在最前边”,“顺序读取”等。利用RESOURCE的这个属性,可以实现在最终网页上按一定规律动态显示RESOURCE中的资源。TEMPLATE的管理下面是一个TEMPLATE的定义和管理界面。一个TEMPLATE包含两大部分,一个是VIEW,另一个是OBJECT,其中VIEW表示只涉及界面显示样式和格式的定义,而OBJECT表示内嵌到这个VIEW中的数据集合。当为一个TEMPLATE的VIEW设置OBJECT时,显示如下配置信息

13、 上面的配置中,数据集合是一个RESOURCE的集合,并且包含对这些RESOURCE数据显示顺序的一个规定。PROJECT的管理下图是对PROJECT的管理界面,通过这个PROJECT界面,拥护可以轻易的定义一个网站的物理结构。并且可以对其中的目录和HTML文件等进行方便的编辑和管理。在编辑每一个PROJECT文件时,其属性包含如下信息。在PROJECT中还应该提供对属于TEMPLATE中的VIEW资源进行预览,以查看其经过装载OBJECT数据后的显示界面样式。网站同步当有了PROJECT后,就可以将PROJECT与指定的WEBSITE资源进行同步。同时某WEBSITE被同步后,还可以设置其与

14、其它网站的同步。下面首先是定义同步时间策略,我们把同步时间定义看成是一组资源的定义,这样我们可以方便的选取和变更各种同步策略。同步可以包含一次同步,定期同步等,同时也可以设置同步时是否覆盖相同的资源,是否删除不被同步的目标网站上的资源。同步策略定义好后,我们就可以定义以某个PROJECT或WEBSITE为原始网站,然后定义其要同步的目标网站组以及同步策略。在提供整站同步功能的同时,系统还提供一个工具,允许指定任意一个或多个数据或目录上载到远程服务器的指定目录中。系统的功能大致如下面界面所示:资源与模版上面通过系统界面原型大致介绍了一下系统主要功能。下面我们具体定义各种配置文件和TAG规范信息。

15、配置文件格式定义通用配置文件refer := 给出所有使用本资源的实体列表 对于DATABASE类型数据,可引用它的包含 RESOURCE,TEMPLATE和PROJECT类型实体。stat := OPEN|CLOSE 关闭状态表示资源不可用open := <N> 给出当前资源使用者的数量,0表示没有人在使用time : = create_time,edit_time,access_time create_time := 表示本数据创建的时间 edit_time := 表示被数据被编辑的时间 access_time := 表示本数据最后访问的时间user := create_use

16、r,edit_user,access_user create_user := 表示数据创建者 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的名称。 此名称是一个指代,实际上可能是来自不同数据源。比如 ftp:/user:namehost:port/ smb

19、:/user:namehost:port/ ldap:/user:namehost:port/ 具体的database_name有专门的定义模块pathn/ : 此处的path为目录值。data_name : 此为最终的数据文件名称,支持通配符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文件的URLCMS.Image.alt返回xmlNodeContent(/xml/object/alt)CMS.Image.url 返回xmlNodeContent(/xml/object/url)CMS.Image.

21、width返回xmlNodeContent(/xml/object/width)CMS.Image.height返回xmlNodeContent(/xml/object/height)CMS.Image.title返回xmlNodeContent(/xml/object/title)CMS.Image.title.url返回xmlNodeContent(/xml/object/title/url)CMS.Image.descr返回xmlNodeContent(/xml/object/descry)CMS.Image.descr.url返回xmlNodeContent(/xml/object/d

22、escry/url)URL OBJECT<xml><object mode=”url” > <title url=""></title><descr url=""></descr><url></url></object></xml>URL OBJECT方法CMS.Url直接返回 URL 地址CMS.Url.title返回xmlNodeContent(/xml/object/title)CMS.Url.title.url返回xmlNode

23、Content(/xml/object/title/url)CMS.Url.descr返回xmlNodeContent(/xml/object/descr)CMS.Url.descr.url返回xmlNodeContent(/xml/object/descry/url)VIDEO OBJECT <xml><OBJECT mode=”video” > <title url=""></title> <descr url=""><!CDATA></descr> <url&

24、gt;</url><width></width><height></height></OBJECT></xml>VIDEO OBJECT方法CMS.Video直接返回 VIDEO 的 URLCMS.Video.url返回xmlNodeContent(/xml/object/url)CMS.Video.width返回xmlNodeContent(/xml/object/width)CMS.Video.height返回xmlNodeContent(/xml/object/height)CMS.Video.title

25、返回xmlNodeContent(/xml/object/title)CMS.Video.title.url返回xmlNodeContent(/xml/object/title/url)CMS.Video.descr返回xmlNodeContent(/xml/object/descr)CMS.Video.descr.url返回xmlNodeContent(/xml/object/descry/url)TEXT OBJECT<xml><OBJECT mode=”text” > <title url=""></title><

26、descr url=""><!CDATA></descr></OBJECT></xml>TEXT OBJECT 方法CMS.Text直接返回 TEXT 的 URLCMS.Text.title返回xmlNodeContent(xml/object/title)CMS.Text.title.url返回xmlNodeContent(xml/object/title/url)CMS.Text.descr返回xmlNodeContent(xml/object/descr)CMS.Text.descr.url返回xmlNodeCon

27、tent(xml/object/descr/url)DATA OBJECT <xml><OBJECT mode=”data”> <title url=""></title><descr url=""><!CDATA></descr><age></age><city></city><addtime></addtime></OBJECT></xml>DATA OBJECT 方法CM

28、S.Data直接返回DATA的URLCMS.Data.age返回xmlNodeContent(xml/object/age)CMS.Data.city返回xmlNodeContent(xml/object/city)CMS.Data.addtime返回xmlNodeContent(xml/object/addtime)CMS.Data.title返回xmlNodeContent(xml/object/title)CMS.Data.title.url返回xmlNodeContent(xml/object/title/url)CMS.Data.descr返回xmlNodeContent(xml/o

29、bject/descr)CMS.Data.descr.url返回xmlNodeContent(xml/object/descr/url)系统默认所有的CMS对象属性和方法关键字大小写都不敏感<<<RESOURCE资源定义 >>>RESOURCE文件以“.cms”作为结尾引用格式为cms:/resourcename/path/name.cms其中cms:/为保留字NAME OBJECT<xml><OBJECT mode=”name”><name cms=”data:/root/kkk/*/”/><name cms=”d

30、ata:/root/kkk/image/*.jpeg”/></OBJECT></xml>当url以”/”结尾时,表示取目录名称,否则表示取文件名称。NAME OBJECT 方法CMS.Name返回与通配符对应的名称CMS.Name(2)返回第二个name通配符名称OBJECT OBJECT这个对象用来表示一组含有读取顺序和读取个数的资源集合OBJECT资源对DATABASE资源的引用同一个目录下的某一特定文件data:/database1/path1/path2/pathn/data_name不同目录下相同位置的图片data:/database1/path1/pa

31、thn/*/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=""></title

32、><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)”/> <data

33、 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|+/-SIZE|RANDOM|

34、SCHEDULE|SEQOBJECT OBJECT 方法CMS.TitleCMS.Title.urlCMS.DescrCMS.Descr.urlCMS.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) 访问第一

35、个对象中的第一个图象文件的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_n

36、ame1#sort(random),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

37、#sort(random),num(4)”/></object> <range begin="” end="”/> <page row=” col=”/><page output=”indexCMS.Page.no.html”/> 或 </OBJECT></xml>GALLERY OBJECT 方法CMS.titleCMS.title.urlCMS.descrCMS.descr.urlCMS.Image()可以展开Image对象方法CMS.Video()可以展开Video对象方法CMS.Url()

38、可以展开Url对象方法CMS.Text()可以展开Text对象方法CMS.Data()可以展开Data对象方法CMS.Object()可以展开Object对象方法CMS.Page.row返回一页中GALLERY行数CMS.Page.col返回一页中GALLERY列数CMS.Page.begin()判断是否为第一页CMS.Page.end()判断是否为最后一页CMS.Page.no()返回当前页序号CMS.Page.num()返回总页数CMS.Anchor.main显示跳转回主页的URLCMS.Anchor.next显示跳转到下一页的URLCMS.Anchor.prev显示跳转到前一页的URL系

39、统默认所有的CMS对象属性和方法关键字大小写都不敏感<<< TEMPLATE制作 >>>TEMPLATE文件以“.chtml”作为结尾TEMPLATE文件的引用格式为chtml:/templatename/path/name.chtml其中”chtml:/”为保留字TEMPLATE实际上就是一段HTML代码,其中使用了CMS对象的各种属性和方法。同时还使用了CMS自定义TAG作为特殊的控制或引用、注释等功能。下面是一个例子:<table border="1" width="100%" height="1

40、00%"><CMS FOR="BEGIN" FROM="1" TO="CMS.Page.row"/> <tr> <CMS MODE="NOTE">Here Have some CMS Code</CMS> <CMS FOR="BEGIN" FROM="1" TO="CMS.Page.col”/><td width="20%"><IMG SRC=”CMS.

41、Image” BORDER=”0”></IMG></td> <CMS FOR="END"/> </tr><CMS FOR="END"/></table>如果一个TEMPLATE中要包含多个不同的CMS对象,我们使用CMS(ID).Object来区分。同时在引用CMS对象文件时,要使用ID标识符,比如<CMS INCLUDE=”default.cms” ID=”id1”/><CMS INCLUDE=”index.cms” ID=”id2”/>下面表示使用上

42、面两个资源文件中index.cms资源文件作为CMS对象的TEMPLATE代码<IMG SRC=”CMS(id2).Image” BORDER=”0”></IMG><<< PROJECT的使用 >>>PROJECT文件的结尾可能是如下之一“.html”,”.htm”,”.php”下面是引用了两个模版的HTML文件,其中第一个模版还使用了两个RESOURCE资源文件index.html<HTML><HEAD></HEAD><BODY><CMS INCLUDE=”chtml:/temp

43、late/t1.chtml”><CMS INCLUDE=”cms:/cmsname/1.cms” ID=”t1”/><CMS INCLUDE=”cms:/cmsname/2.cms” ID=”t2”/></CMS><CMS INCLUDE=”chtml:/template/t2.chtml”><CMS INCLUDE=”cms:/cmsname/2.cms” ID=”r1”/></CMS></BODY></HTML>系统在定义INCLUDE对象时,会给其赋予一个唯一的ID值,这个值用来区分具有

44、相同文件类型的多个文件被同时包括进某一文件中的情况。下面是这个文件的GUI编辑界面PROJECT属性页其中TargetRoot表示PROJECT在转换到WEBSITE上时,被放置的根目录。TargetImageRoot表示PROJECT中图象等引用资源被放置的位置。当TargetRoot=”/Discuz”,并且TargetImageRoot=”/Images”时,表示所有PROJECT动态生成的HTML等静态文件将被放到/Discuz目录中,同时各种图象,视频等文件将被放置到以/Images/为根的目录中。自定义TAG<<< TEMPLATE的TAG定义 >>&

45、gt;这里我们定义存在于TEMPLATE中的预定义TAG,这些TAG用来标识将来会被替换的位置。TAG定义的原则是1保证浏览器在显示时,不会影响未定义TAG的部分。2TAG应该允许出现在HTML中的任意位置,并且允许任意细的粒度。3TAG应该很容易的被发现和替换为目标数据。TAG定义类别1引用外部文档<CMS INCLUDE=” ID=”/>2取得对象值CMS.Object2.1替换对象值<CMS SET=”CMS.Object.Target = CMS.Object.Source”/>3循环<CMS FOR=”BEGIN” FROM=” TO=”/><

46、;CMS FOR=”END”/>4条件判断<CMS IF=”BEGIN” TRUE=”/><CMS IF=”ELSEIF” TRUE=”/><CMS IF=”ELSE”/><CMS IF=”END”/> 6注释<CMS MODE=”NOTE”></CMS>系统默认所有的自定义TAG大小写都不敏感o 引用外部文档<CMS INCLUDE="File.cms" ID=”id”/>其中ID属性是可选项,当为同一个TEMPLATE文件加载多个cms文件时,需要使用ID属性来区分不同cms文件中

47、的对象。如果只使用一个Cms到TEMPLATE文件中,则这个ID属性可以省略掉。o 替换对象可以使用的CMS替换对象包括CMS的属性和函数,对CMS对象属性的引用,使用CMS.Object.value的格式,对CMS对象函数的引用,使用CMS.Object.foo()的格式。当对对象中多个相同属性进行引用时,需要使用下标,例如CMS(1).Object(2).value(4)表示使用ID标识为1的cms资源中的第2个Object对象的第4个属性值。举例IMAGE定义<img src="Winter.jpg" width="50" height=&q

48、uot;50" alt="Winter.jpg"><IMG SRC="CMS.Image" WIDTH="$CMS.Image.width" HEIGHT="CMS.Image.height" ALT="CMS.Image.alt">譬如,如果只想调用资源文件中的图象对象,但是图象的高和宽想自定义,则可以按如下显示<IMG SRC="CMS.Image" WIDTH="50" HEIGHT="40" A

49、LT="CMS.Image.alt">上面语句表示,调用CMS资源中的图象资源,并且图象的ALT属性使用CMS资源中与图象对应的ALT属性内容。并且每个图象都按宽50,高40来显示。如果图象的全部属性都想使用CMS资源中的定义,可以按如下方法调用<IMG SRC="CMS.Image" WIDTH="CMS.Image.width" HEIGHT="CMS.Image.height" ALT="CMS.Image.alt">举例TEXT定义<p align="c

50、enter">Title</p><p align="center">This is a detail Description</p><p align="center"><input type="button" value="Button" name="B1"> <p align="center">This is CMS.Text() content</p>o 替换对象值使用如下

51、命令可以替换CMS对象中的值<CMS SET=”CMS.Object.Target = CMS.Object.Source”/>o 循环循环TAG为<CMS FOR=”BEGIN” FROM=” TO=”/><CMS FOR=”END”/>举例TABLE定义下面是描述一个TABLE的方法<table border="1" width="100%" height="100%"><CMS FOR="BEGIN" FROM="1" TO="

52、;CMS.Page.row"/> <tr> <CMS MODE="NOTE">Here Have some CMS Code</CMS> <CMS FOR="BEGIN" FROM="1" TO="CMS.Page.col”/><td width="20%"> <IMG SRC=”CMS.Image()” BORDER=”0”></IMG><!- display content of CMS.Vide

53、o(),CMS.Image(),CMS.Text()CMS.Url(),CMS.Data()-> </td> <CMS FOR="END"/> </tr><CMS FOR="END"/></table>o 条件判断条件判断TAG为<CMS IF=”BEGIN” TRUE=”/><CMS IF=”ELSEIF” TRUE=”/><CMS IF=”ELSE”/><CMS IF=”END”/>举例ANCHOR定义<CMS IF="B

54、EGIN" TRUE="CMS.Page.begin()"/> <A HREF="CMS.Anchor.next">next</A> <A HREF="CMS.Anchor.main">main</A><CMS IF="ELSEIF" TRUE="CMS.Page.end()/> <A HREF="CMS.Anchor.prev">prev</A> <A HREF="CM

55、S.Anchor.main">main</A><CMS IF="ELSE"/> <A HREF="CMS.Anchor.next">next</A> <A HREF="CMS.Anchor.prev">prev</A> <A HREF="CMS.Anchor.main">main</A><CMS IF="END"/>举例STATUS获取<CMS IF="BE

56、GIN" TRUE="CMS.Page.begin()"/> This is the 1st page<CMS IF="ELSE"/> This is NOT the 1st page<CMS IF="END"/>You are viewing page $CMS.Page.no() / $CMS.Page.total()o 注释定义NOTE定义<CMS MODE="NOTE">Here Have some CMS Code</CMS>此内容仅为显示模

57、版时做注释使用,正式生成HTML页面时被CMS TAG包含的内容 ” Here Have some CMS Code” 将被去掉。模版制作与使用下面给出一些实际应用例子例1 显示一个1x4 图象BANNER/image/snapshot/snapshot1.jpeg/image/snapshot/snapshot2.jpeg/image/snapshot/snapshot1.jpeg.xml<xml><object mode=”image” > <title url="">TEXT BOOKS</title><descr

58、 url=""><!CDATAthis is a data zone></descr><alt>"TEXT BOOKS"</alt><url></url><width>200</width><height>200</height></object></xml>cms:/resource/snapshot.cms显示/image/snapshot/目录下最新的4个图片资源<object mode=”ob

59、ject” name=”banner”> <image cms ="data:/aaa/image/snapshot/*.jpeg#sort(-TIME),num(4)"/></object>chtml:/template/snapshot.chtml<table border="0" width="100%" height="142" cellpadding="0"><tr> <CMS FOR=”BEGIN” FROM=”1” TO=

60、”4”/><td width="25%" height="136"><p align="center">CMS.Image.title<img src="CMS.Image.title" width="CMS.Image.width" height="CMS.Image.height" alt="CMS.Image.alt">CMS.Image.descr</p><CMS FOR=”END”/&g

61、t;</td> </tr></table>snapshot.html<HTML><HEAD></HEAD><BODY><CMS INCLUDE=”chtml:/template/snapshot.chtml”><CMS INCLUDE=”cms:/resource/snapshot.cms”></CMS></BODY></HTML>例2 显示一个2x5 文字BANNER/url/banner/banner_text1.xml<xml><

62、;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></OBJECT><OBJECT mode=”url” > <title url="/cgi-bin/website?name=ccc&qu

63、ot;>kkk</title></OBJECT><OBJECT mode=”url” > <title url="/cgi-bin/website?name=ddd">pppp</title></OBJECT></xml>RESOURCEcms:/resource/banner1.cms<url url="data:/aaa/url/banner/banner_text1.xml"/>TEMPLATEchtml:/template1/banner_text1.chtml<CMS INCLUDE=”cms:/cmsname1/banner1.cms”/><table border="0" width="100%" cellspacing="0&q

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论