收藏 分享(赏)

TurboCMS.Java模板制作指南.doc

上传人:weiwoduzun 文档编号:2612301 上传时间:2018-09-23 格式:DOC 页数:35 大小:1.97MB
下载 相关 举报
TurboCMS.Java模板制作指南.doc_第1页
第1页 / 共35页
TurboCMS.Java模板制作指南.doc_第2页
第2页 / 共35页
TurboCMS.Java模板制作指南.doc_第3页
第3页 / 共35页
TurboCMS.Java模板制作指南.doc_第4页
第4页 / 共35页
TurboCMS.Java模板制作指南.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、TurboCMS内容管理系统(Java 版本)模 板 制 作 指 南北京泰得文通科技有限公司修订时间:2010 年 7 月TurboCMS 内容管理系统 Java 版本模板制作指南第 2 页 共 35 页TurboCMS2009的模板制作(频道部分)一、概述TurboCMS 是一个基于模板的内容管理系统,整个系统的使用流程如下图:表单数据库录入保存 生成模板 用户通过 WEB 表单录入信息 表单中的信息被保存在数据库中的一条记录中 某一个频道的所有信息构成了一张表,有多个频道,则数据库中可能有多个表存在。 内容中的数据结合模板生成 HTML 文件。从上面的过程可以看出,每个频道需要定义一个表单

2、,以及一个模板。模板定义了数据呈现的形式,模板中定义的字段通常同表单中的字段是一一对应的。表单数据库中的表模板三者间的关系如下图:表单 模板数据库中的表XxXxXxHTML 文件xxxxxxxxxxxxXxXxXxxxxxxxxxxxxxTurboCMS 内容管理系统 Java 版本模板制作指南第 3 页 共 35 页频道的表单可以使用系统提供的表单定义工具生成,而模板则必须要手工制作,本文主要介绍模板的制作。1、从什么地方定义模板所谓模板,在 TurboCMS 中其实是一个普通的 HTML 文件,它定义了所有用这个模板生成的 HTML 文件的大致表现形式,包括布局、字体、颜色、风格等信息。以

3、管理员身份登陆 TurboCMS,将会看到一个“模板”视图,其中保存的就是网站的模板文件。 “模板”视图其实是“文件夹”视图的一个快截方式,专门管理/templates 目录。我们建议将所有的模板文件都保存在这里,如果一定要放在其他目录的话,也是允许的。如果要编辑模板文件,请首先选中某个模板文件,然后鼠标右键,选择“Notepad ”,以源代码的方式编辑模板文件。TurboCMS 内容管理系统 Java 版本模板制作指南第 4 页 共 35 页在这个非常类似于 Windows 的 Notepad 的环境中,可以以源代码的方式编辑模板文件,并在其中插入定义模板专用的脚本。最后将文件保存下来便成为

4、模板。2、模板和模板脚本模板一方面定义了最终的 HTML 文件的形式和风格,另一方面还定义了数据如何呈现在最终的 HTML 文件中。模板中的 HTML 定义的是形式和风格,而其中的脚本则定义了数据的呈现。当站点中的一个频道的所有信息被发布时,系统构造了一个数据环境,然后将频道中的一条记录取出来,并放到数据环境中去,接下来将模板放到数据环境中去,解释执行其中的脚本,最后将所有的输出写入到 HTML 文件。系统依次处理所有的记录,每处理一条记录就执行一遍上面的这个过程。我们引入一种新的语言(TDL,Template Define Language)来定义模板中的数据输出。它是一种脚本语言,使用 J

5、ava 作为运行脚本,暴露了若干对象供脚本访问,以实现脚本中的灵活控制。模板中的 TDL 脚本用两个特殊符号分隔:。这两个符号之间的内容被当成 TDL 脚本处理,其他的内容原样地输出到 HTML 文件中去。请注意这里的分隔符与 Java 中的分隔符的区别。一段模板中的 TDL 脚本例:也支持表达式直接输出,等同于。模板中的 TDL 脚本是 Java 脚本,任何合法的 Java 代码都是被允许的。关于 Java 的语法基础,可以参考 Java 技术部分。在 TDL 脚本中,除了可以使用标准的 Java 代码之外,还可以访问系统提供的几个固有对象,用其同数据环境打交道,取出需要的数据。这几个对象分

6、别是:System, ThisDocument,ThisChannel,ThisSite,ThisPage,ThisPageColumn ,ThisColumn,ThisMagazine,ThisIssue, Response。本文中对这几个对象将进行详细的说明。TurboCMS 内容管理系统 Java 版本模板制作指南第 5 页 共 35 页二、TDL 编程1、网站规划在讲解 TDL 编程前我们先来介绍一下网站规划的步骤,以便理解模板的作用。站点首页inc 文件频道一首页 频道二首页 频道三首页子频道一首页 子频道二首页目录页(可能分页)当前频道top 5导航栏hotnewshotnewsh

7、otnewshotnews某栏目的最新几条(头条信息)带摘要的 top 10 带摘要的 top 10带摘要的 top 10子栏目导航栏文章 1 文章 n 带摘要的 top 10 带摘要的 top 10文章标题列表.文章 1文章 2 文章 3TurboCMS 内容管理系统 Java 版本模板制作指南第 6 页 共 35 页由上图可以看出,当一篇文章提交到某个频道后,有三种文件需要生成或修改:1、文章本身的 HTML 页面(文章内容页)2、频道的封面页3、上级频道以及首页中的 top 列表(通过 inc 文件体现)因此,有三种模板脚本存在:1、文章内容页模板2、封面页模板3、附带发布的模板也即是说

8、,对每一个频道,需要制作三个模板文件,其中的附带发布模板是可选的。2、文章内容页模板制作前面我们说过,TDL 的脚本中可以访问若干个内置对象。所谓内置对象,是指不需要申明就可以直接访问的 Class 对象。文章内容页的模板制作需要访问的两个主要的内置对象是 Response 和 Document。Response 对象的目的在于从 TDL 中输出,Document 对象的主要作用是访问上下文中当前处理的文章的各字段的值。Document 对象是最主要的对象,脚本通过它来取得当前数据环境中的数据,它只有三个方法.2.1 Document 对象的方法 Item(field Name)获取字段 fi

9、eldName 的值,返回字段值,是一个对象例:String Name,Sex,Age;Name = (String)ThisDocument.Item(“Name”);Sex = (String)ThisDocument.Item(“Sex”);Age = (String)ThisDocument.Item(“Age”);如果确信调用会返回的是一个对象,则应该申明相应的对象来进行调用,例:java.util.Vector pageall = (java.util.Vector)ThisDocument.Item(“pages“);参数 fieldName 表示字段名,他们同频道的表单定义中为

10、字段取的名字是一样的。推荐全部使用英文做字段名。在使用 Document 的 Item 方法返回字段值时应当确信字段名是在频道的表单定义中确实定义好了的,并且名称拼写没有错误。除了可以访问表单定义时定义的字段以外,有几个字段是始终可以访问的,他们是: Id,当前数据环境中的那条记录在整个系统中的唯一编号 Title,内容的标题 Author,提交这条内容的用户的用户名 SubmitDate,这条内容的提交时间TurboCMS 内容管理系统 Java 版本模板制作指南第 7 页 共 35 页 Url,当前记录在生成 HTML 文件后,这个文件在系统中的 URL,是绝对路径,如/site1/new

11、s/news3498.htm Content,当前记录的正文字段。Title 标题和 Content 正文是不论在表单定义中是否定义,在内容提交时系统均会要求输入的两个字段,所以可以放心地访问这两个字段。 PageNum,如果一条记录的正文内容有多页,则每一页都将生成一个独立的HTML 文件,在模板中不用担心, Content 字段始终返回的是当前页的内容,而PageNum 则返回当前页的页号,页号是从 1 开始的。 PrevPage,如果正文有多页,则 PrevPage 返回前一页的那个文件的 URL,如果当前页是 1,则这个字段返回空串。 NextPage,如果正文有多页,则 NextPa

12、ge 返回下一页的那个文件的 URL,如果当前页是最后一页,则这个字段返回空串。 CMSPIC,文章的图片字段 CMSWLINK,文章的文件连接字段 CMSSUMMARY,文章的摘要字段 Pages,如果正文有多页,则 Pages 字段返回所有页的集合。特别注意的是,集合在 Java 中是一个对象,因此需要使用定义一个 Vector 来取得。集合中保存的是每一页的 URL。输出所有页的一个目录的代码如下:第“ + (i+1) + “页“);elseResponse.Output(“第“ + (i+1) + “页“);%如果不知道一条内容到底有无可能有分页,则最好在输出下一页的连接前先判断一下,

13、如下:前一页“);if(!nPage.equals(“)Response.Output(“后一页“);TurboCMS 内容管理系统 Java 版本模板制作指南第 8 页 共 35 页%注意,所有对字段的名称都是大小写无关的,即 ThisDocument.Item(“Content”)与ThisDocument.Item(“CONTENT”)是等效的。2.2 Document 对象的方法public Vector RelativeArticles(int lngCount, String RelDefine)RelativeArticles 方法返回当前文章的相关文章。返回的是一个 Link

14、对象组成的向量。参数 lngCount 为返回的条数。如果大于实际的条数,则只返回实际的条数。参数RelDefine 为“相关文章”的名,请使用空串来表示缺省的相关文章。public Channel DocumentChannel() 返回当前文章所在的频道对象。public String DocumentSource() 返回当前文章的文章来源。Response 对象负责内容的输出,通常用来直接将字段的值输出到 HTML 文件。Response对象有两个方法: Output(txtText),将 txtText 输出到 HTML 文件中去。 Clear,取消所有已经有的输出,将输出缓冲清空。

15、模板文件中有普通的 HTML 以及模板脚本,普通的 HTML 将直接输出到缓冲区,脚本将被解释执行,脚本中也可以通过调用 Output 将文本输出到缓冲区。当模板文件结束时,缓冲区中的内容就被输出到 HTML 文件中去了。注意 Clear 方法除了将清除所有用 Output 输出的内容外,还将清除所有的已经在缓冲中的普通 HTML 内容。3、封面页模板的制作频道的封面页制作中的主要任务在于列出频道内所有文章的标题和连接。这个列表支持分页显示,可以定义每页仅显示多少条。TDL 解释器将只把当前页的文章返回。封面页制作需要访问的对象为 Channel,它也是一个内置对象。另外,还可能涉及到类TOC

16、 和 Link,这两个类是不能直接访问的,一定是通过对象 Channel 的属性返回的。Channel 对象的属性和方法: Top(x)方法,返回当前频道的最新文章,是 Document 对象的集合,例:n“);java.util.Vector vt=ThisChannel.Top(5);for(int i=0;i“ + aDoc.Item(“TITLE“) + TurboCMS 内容管理系统 Java 版本模板制作指南第 9 页 共 35 页“n“);Response.Output(“n“);% TopEx(x)方法,同上,但包含子频道中的文章 Name 属性,频道名 Path 属性,频道的

17、全名。因频道可为树形结构, Path 属性返回从顶级频道开始的路径,形式为:/root/parent/name,例:/ 教程和文档/web3d SubChannels 方法,返回一个 Channel 对象的集合,但是这些 Channel 对象的 TOC 属性均是空的。例:java.util.Vector vt=ThisChannel.SubChannels();for(int i=0;in“);java.util.Vector vc = ThisChannel.TOC.AllLinks;for(int i=0;i“);Response.Output(“ + aLink.Title + “);T

18、urboCMS 内容管理系统 Java 版本模板制作指南第 10 页 共 35 页Response.Output(“n“);Response.Output(“n“);%输出上一页下一页连接的 TDL 代码例:前一页“);if(!nPage.equals(“)Response.Output(“后一页“);%4、附带发布的模板制作附带发布最主要的目的是取出频道的最新几条信息,然后用模板生成一个 inc 文件。因此,在附带发布页模板制作中,最主要的访问的对象是 Channel,访问它的 Top 和 TopEx 方法。但是,Channel 对象表示的是当前频道,如果要访问其他频道里的文章信息,就必须使

19、用另一个 System 对象,下面对 System 对象做一个介绍。System 对象System 对象提供一些与系统有关的辅助功能。它有以下方法: Execute(templateUri),加载一个模板文件,返回执行的结果。注意参数是绝对路径。用这个方法,可以实现一个模板中加载一个子模板的功能。 GetChannel(ChannelUri)返回一个特定的频道对象,参数 ChannelUri 是系统的 URI 格式的串,因为 TurboCMS的频道是层次形结构,在父频道与子频道间用“/”隔开。例:“/ 测试项目/新闻”表示“测试项目”频道下的“新闻”子频道。GetChannel 方法返回的对象

20、跟缺省的 Channel 对象是一样的,有 Name、Path 属性和Top(x)以及 TopEx(x)及 SubChannels 等方法,但 TOC 属性不能访问。 GetChannelByID(pid) 返回指定频道 ID 的频道对象,参数 pid 为 TurboCMS 系统中维护的频道 ID。GetChannelByID 方法返回的对象跟缺省的 Channel 对象是一样的,有 Name、Path 属性和 Top(x)以及 TopEx(x)及 SubChannels 等方法,但 TOC 属性不能访问。 GetDocumentInChannel(x, ids,orderfield)返回指定

21、频道集中前 x 篇文章,并按指定的 orderfield 排序参数使用请参考TurboCMS.Java 模版中的对象参考建议在所有的 TOPX 或 TOPEx 包含文件的模板中均使用 GetChannelByID 方法返回Channel 对象,而不是使用缺省的 Channel 对象(Channel 只是返回当前频道对象) 。TurboCMS 内容管理系统 Java 版本模板制作指南第 11 页 共 35 页一段脚本例子:“ + aDoc.Item(“title“) + “);%5、文章中使用来源的模板制作文章来源涉及到 TDLSource 类,ThisDocument.DocumentSour

22、ce 方法取出来的是ArrayList,访问示例如下:文章来源:“ title=“6、文章正文显示编辑真实姓名的模板制作7、文章中使用 Tag 的模板制作文章 Tag 涉及到 TDLTag 类, ThisDocument.DocumentTag 方法取出来的是 Vector,访问示例如下:文章的 Tag:“ target=“_blank“ title=“相同 Tag 的文章列表:8、 Web2.0 中 Tag 的模板制作Tag 制作设计到 ThisWeb2 的使用1)输出 Tag:2)相同 Tag 的文章列表:“ + aLink.Title + “n“);%3)分页代码:TurboCMS 内容

23、管理系统 Java 版本模板制作指南第 13 页 共 35 页第“ + (i+1) + “页“);elseResponse.Output(“第“ + (i+1) + “页“);%9、日列表模板制作频道的日列表,由发布服务每天定时生成。n“);java.util.Vector vc = ThisTodayList.AllLinks;if(vc!=null)for(int i=0;i“);Response.Output(“ + aLink.Title + “);Response.Output(“+MyUtil.formatDate(java.util.Date)aLink.PublishDate,

24、“yyyy-MM-dd HH:mm:ss“)+“);Response.Output(“n“);Response.Output(“n“);/频道日列表 结束%TurboCMS 内容管理系统 Java 版本模板制作指南第 14 页 共 35 页10、图片集模板制作“ +objImage.Title + “);/图片集的标题/缩略图:objImage.ThumbFile;原图:objImage.BigFile Response.Output(“);String pPage, nPage;pPage =(String)ThisDocument.Item(“PrevPage“);/前一张图片nPage

25、=(String)ThisDocument.Item(“NextPage“);/后一张图片if(!pPage.trim().equals(“)Response.Output(“上一张“);if(!nPage.trim().equals(“)Response.Output(“下一张“);%配合相应的 js,制作出精美的图片集。TurboCMS 内容管理系统 Java 版本模板制作指南第 15 页 共 35 页TurboCMS2009的模板制作(专题部分)一、概述在 TurboCMS 中,专题是指由编辑创建的,按照专题模板生成的一个页面,及该页面下栏目和文章的总称。专题在 TurboCMS 中,具

26、有多重特征。一方面,专题类似于普通的文章,总是归属于某个频道,具有“标题” 、 “作者”等基本字段,以及可以经过表单定义增加扩展字段。这些类似于文章的字段,其值在编辑新建专题时直接输入到系统中。另一方面,专题又类似于一个频道,可以有子栏目,子栏目里可以有文章。编辑新建专题时,需要先选择“专题模板” 。 “专题模板”于我们在频道中讲到的“模板”的概念有所不同。频道中的模板,包括内容页模板,列表页模板,附带发布模板,都只是一个文件,而“专题模板”则是由专题首页模板、子栏目定义、子栏目所使用的内容页模板及列表页模板的一个总和。专题模板必须由管理员首先在管理后台创建。管理员创建专题模板时,需要制作和指

27、定专题首页的模板文件,以及定义专题下的子栏目,以及为每一个子栏目制作内容页模板和列表页模板。一个站点中可以有多个专题模板,比如新闻专题模板,娱乐专题模板。不同的专题模板除了专题首页的模板文件不同以外,其所定义的子栏目也不同。编辑在创建一个具体的专题时,根据需要,选择一个专题模板。一旦选择了专题模板,那么相应的需要录入什么字段,以及有什么子栏目,就固定下来了。二、TDL 编程根据上面的介绍,制作专题模板是一系列工作的总和,包括定义专题的表单,制作专题首页的模板,定义子栏目,制作子栏目的模板等。定义专题表单与定义频道的表单类似,根据需要,给专题增加一些字段。专题首页的模板制作包括两方面。一般来说,

28、一个专题首页由两部分构成。一部分是输出专题的一些信息,比如专题的名称,专题的介绍等;第二部分是将专题中每个子栏目里的文章提取若干条来在专题首页上显示。对于第一部分,输出专题的信息,与频道里的内容页输出文章的字段类似。所使用的代码如:其中的 ThisSubject 代表当前专题,与文章中的 ThisDocument 代表当前文章类似。对于第二部分,子栏目中文章的列表,首先,我们的模板是将用在某一个特定的“专题模板”里的,因此我们知道该“专题模板”下包括什么子栏目。在代码中我们通过 ThisSubject 的 GetSubjectColumn 方法来获得特定的栏目对象。代码例:n“);java.u

29、til.Vector vc = acolumn.TOC.AllLinks;for(int i=0;i“);Response.Output(“ + aLink.Title + “);Response.Output(“n“);Response.Output(“n“);%输出子栏目里的文章与频道列表页里输出文章列表的代码类似。那是因为子栏目对象 SubjectColumn 与频道对象类似,也有 TOC 属性。不过因为是在专题首页,我们不希望输出栏目里的所有文章,因此我们在循环条件里加了 in“);java.util.Vector vc = acolumn.TOC.AllLinks;for(int i

30、=0;i“);Response.Output(“ + aLink.Title + “);Response.Output(“n“);Response.Output(“n“);%注意,这时我们不限制输出的条数,就是输出整个栏目下的所有文章。专题子栏目与频道还有一个重要区别,那就是专题子栏目的文章列表是不可以分页的,因此需要输出所有文章。也可以在栏目的列表页模板中使用 ThisSubjectColumn.TOC.AllLinks 来获取该栏目的所有文章。专题对象 ThisSubject,以及专题栏目对象 SubjectColumn 的具体方法和属性,请参考TurboCMS.Java 模版中的对象参考

31、 。TurboCMS 内容管理系统 Java 版本模板制作指南第 17 页 共 35 页TurboCMS2009的模板制作(期刊部分)一、概述期刊封面页 目录页,每期个文件xxxxxxxxxxxxxxx内容页内容页内容页内容页每一个期刊有一个唯一的封面页,是进入期刊内容的唯一入口。在这个封面页中,建议放置最新一期的封面图片以及该期中的关键文章。然后放置一个连接到该期目录页的链接。目录页每期一个,文件名为 目录页文件名+IssueNumber.ext,其中后缀名与期刊属性设置中“目录页文件”的后缀同。期刊的属性中“目录页文件” 内容为最新一期的目录页相同。即是说,最新一期的目录页既可用目录页文件

32、名+ IssueNumber.ext 的方式访问,也可以用期刊的目录页访问。目录页中建议放置当前期的封面图片以及该期的所有文章按栏目分开的列表。内容页与以前频道中的内容页是一样的。在所有以上三类页面中均可以加上一个过刊查询,用一个下拉列表的方式连接到所有的过刊。TurboCMS 内容管理系统 Java 版本模板制作指南第 18 页 共 35 页二、TDL 编程1、封面页模板制作我们知道,在模板中可以使用一些系统提供的对象来访问数据。在期刊模板中,系统新增加了几个对象,他们分别是“Magazine” 、 “Issue”,以及通过这两个对象的属性集合引出来的“Column ”对象等。我们将在相关讲

33、述中详细介绍每个对象可以提供的属性和方法。在封面页中主要访问的对象为“Magazine” , “Magazine”对象的属性有: Name,期刊的名字 Alias,期刊的别名 CoverPage,封面页文件,即当前文件的文件名,形为“/Magazines/software/default.htm” IndexPage,目录页文件,到最新一期的目录页的文件。 CoverPicture,封面图片,等于最新一期的封面图片。形如“/UploadFiles/Uploadfile11.jpg”。 CurrentYear,最新一期的年份。如“2002” CurrentIssue,最新一期的期号,如 “23”

34、 CurrentIssueID,最新一期的 IssueID。 Issues,一个集合,对象 Issue 的集合,期刊的所有的期号。 Columns,一个集合,对象 Column 的集合,期刊的所有栏目。其中,属性 Issues 返回的是一个对象集合,对象 Issue 的集合。对象 Issue 只有属性,如下: public String IssueYear,年号 public String IssueNumber,期号 public String TotalIssueNumber,总期号 public String CoverPicture,封面图片 public String IndexPa

35、ge,目录页,该期的目录页 public String Description,该期的描述,可以将一些针对期的信息放在这个描述中。Columns 属性返回的是一个 Column 对象的集合,对象 Column 的属性有: public String Name,栏目的名称 public String Alias,栏目的别名 public comTOC TOC,是一个 comTOC 对象,目录 public String IndexPage,该栏目的目录页。方法: public Vector Top(int x),返回最新的几条头条内容,是一个 Document 对象的集合。 public Vec

36、tor ImageNews(int x),返回最新的几条图片新闻的内容,是一个 Document对象的集合。 public String GetColumnIssueName(int issueid),返回当前栏目指定某一期的列表页地址。TurboCMS 内容管理系统 Java 版本模板制作指南第 19 页 共 35 页在封面页模板制作中,最主要的任务即是输出当前期的封面图片等,其脚本如下:当前期刊的期号 ID期刊封面页模板实例:期刊名称:“ target=“_blank“more.“ + aDoc.Item(“Title“) + “);%查看期刊列表“ + subIssue.IssueYea

37、r + “年第“ + subIssue.IssueNumber + “期“);%2、期刊目录页模板制作期刊目录页的主要任务是按栏目将当前期内的所有文章的标题列出,并建立相应的连接。有可能需要做一个下拉列表以供过刊查询。期刊目录页模板需要访问的对象包括 Magazine 以及 Issue。Issue 也是一个可供直接访问不需创建的对象,提供了当前期的一些数据。按栏目列出所有文章的脚本如下:“);java.util.Vector v2=subColumn.TOC.AllLinks;for(int j=0;j“ + aLink.Title + “);%如果需要访问当前期的一些其他信息,可以使用 Is

38、sue 对象,如:如果要创建过刊查询,需要一段 JavaScript,当用户从下拉列表里选择了一项后,就用脚本将用户带到相应的页面。下面是一段可供参考的脚本:每期查询:TurboCMS 内容管理系统 Java 版本模板制作指南第 21 页 共 35 页“ + subIssue.IssueYear + “ 总第“ + subIssue.TotalIssueNumber + “期“);elseResponse.Output(“ + subIssue.IssueYear + “ 总第“ + subIssue.IssueNumber + “期“);%期刊目录页列表模板实例:“ target=“_bla

39、nk“more.“ + aDoc.Item(“Title“) + “);%查看该期刊往期“ + subIssue.IssueYear + “年第“ + subIssue.IssueNumber + “期“);%3、栏目列表页模板制作栏目列表页和期刊目录页有所不同,期刊目录页是把同期的所有栏目以列表的形式列出来,而栏目列表页只是列出某一个栏目的当前期文章列表,并提供往期该栏目的列表页链接。栏目列表页模板实例:栏目名称:“ + aLink.Title + “);%栏目期刊列表请选择“ + subIssue.IssueYear + “年第“ + subIssue.IssueNumber + “期“)

40、;%4、内容页模板制作请参见内容页模板制作。TurboCMS 内容管理系统 Java 版本模板制作指南第 23 页 共 35 页TurboCMS2009的模板制作(页面部分)一、概述页面管理可以看作是专门管理网站中的一些特殊页面的。在页面管理中,我们需要定义页面,以及页面上的栏目。我们把网站首页定义为一个页面,然后在首页上定义几块区域为“栏目” 。其实网站首页上还有其他更多的信息,但是那些信息都可以通过频道的附带发布来生成。页面管理中由两种方式来维护,一种是以栏目的形式,还有一种就是直接维护 HTML 内容块。在页面栏目里中的信息主要包括原属频道,原属频道地址,标题,连接地址,摘要,配图,发布

41、日期等 7 个字段,是对其他文章的一个描述信息,也就是维护的一个链接,页面管理其实是一个“文章链接管理” 。页面栏目里的信息除了可以手工来创建外,更主要的方式是通过频道里的推荐功能来完成。当用户从频道推荐到页面栏目后,负责页面管理的人员即可对信息进行选择编辑,根据需要,补齐摘要或配图后发布到页面上。在页面管理部分,涉及到模板编写的,就只有页面栏目的模板。二、TDL 编程页面栏目模板制作在页面模板中,系统新增加了几个对象,他们分别是“HomePage ”、“TDLPageColumn”、 “TDLPageLine”、 “TDLPageLink”,下面这相关讲述中详细介绍每个对象可以提供的属性和方

42、法。“HomePage”对象的属性有: PageName,页面的名称 FileName,页面的地址“TDLPageColumn”对象的属性有: Name,页面栏目的名称 MaxLine,页面栏目中链接行的行数 Vector Lines () 返回 TDLPageLine 对象的集合。在 CMS 页面模型中,一个栏目由多个行组成,每一个行里包含多个链接。“TDLPageLine”对象的属性有: Link1Link5,页面栏目中的链接行,如果不存在,返回 null,不推荐使用,请使用 Links() 方法返回实际可用的链接 Vector Links () 返回该行里的 TDLPageLink 对象

43、的集合。只返回编辑实际设置过的链接。“TDLPageLink”对象的属性有: Channel 所属频道名称 ChannelURL 频道 URL 地址TurboCMS 内容管理系统 Java 版本模板制作指南第 24 页 共 35 页 Title 链接标题 TitleColor 链接颜色 URL 链接地址 Summary 摘要 PIC 配图 Alt 配图提示 PublishDate 发布日期 SmallImage 缩略图 Style 样式 isImage 是否图片 isVideo 是否视频页面栏目制作,也就是把页面栏目中的链接行提取出来显示。获取栏目对象的方法,一种是直接使 ThisPageCo

44、lumn,获取当前页面栏目,还有一种使用 System.GetPageColumnByID(int cid)来获取指定页面栏目 id 的栏目。下面举一个例子,当前页面栏目的列表“);for(int i=0;iResponse.Output(“ + objContent.Summary + “);Response.Output(“);%TurboCMS 内容管理系统 Java 版本模板制作指南第 25 页 共 35 页附:Dreamwaver 中插件使用制作网站模板安装 TurboCMS_Java 插件正确安装 TurboCMS 后在安装目录找到 TurboCMS_Java.mxp 文件可下载到

45、本地,首先确保本机安装好 DreamweaverMX 以上版本(以下称 DW) 。双击TurboCMS_Java.mxp,如下图点击接受即可安装。安装成功在 DW 中就会出现如下图的插件说明 TurboCMS_Java 插件已经安装成功。TurboCMS 内容管理系统 Java 版本模板制作指南第 26 页 共 35 页网站制作基本操作在做模板之前做好如下准备工作:1) /root/设置为站点跟目录,网站所有文件将会生成的这个目录下面,所有文件将以/root/目录为根。2) /images/中放模板中图片的存放位置。3) /templates/中放模板文件。4) /templates/incl

46、ude/中放附带发布的模板5) /include/中放网站公用的文件例:首尾文件。6) /root/中所有文件图片路径均以/开头的物理路径。7) 带有包含文件的此文件后缀明为.shtml 的形式。8) 在 DW 中定义这个 root 为某站点。TurboCMS 在制作网站中需要用到 3 种模板:1、内容页面模板。2、列表页面模板、3、封面页附带发布模板先介绍一下 Dreamwaver 中 TurboCMS 插件的几个功能按钮:频道对象,用来输出和频道有关的属性,比如频道的封面页地址、频道的名称等。:内容页文档对象,用来输出和内容页文档有关的属性,比如文章的标题、发布时间、其他自定义表单的值等。

47、:头条新闻,用来列出当前频道中的最新几条头条文章。:图片新闻,用来列出当前频道中的最新图片新闻,而且这个频道有两个自定义字段,一个是 PIC(图片地址) ,一个是 Summary(摘要) 。:文章列表,主要用来制作频道的列表页的,列表分行方式目前有四种:列表、换行、表格、图片加摘要。可以在模板里自行调整显示样式。:频道日列表,主要用来生成频道每天的列表页。日列表的生成是由发布服务来完成的。列表的分页方式目前有四种:列表、换行、表格、图片加摘要。:当前位置,显示出该频道的路径,比如:首页 新闻中心 国内新闻:内容页或列表页分页,这里提供了内容页和列表页的分页代码。制作的时候,可以组合出不同的分页

48、显示样式。输入框分页和下拉框分页可以和其他几种分页TurboCMS 内容管理系统 Java 版本模板制作指南第 27 页 共 35 页形式组合。:相关文章,列出文章的相关文章:包含文件,可以生成 或:TDL 标记,生成一个 :Output 标记,生成 Response.Output();:获取频道对象,生成 System.GetChannel(“/“);:调用数据库接口,主要是提供该高级模板制作人员,对数据库的数据进行任意条件的提取提供了一个数据库操作的框架。普通模板人员慎用该功能。(1)内容页面模板制作(以下图为例)TurboCMS 内容管理系统 Java 版本模板制作指南第 28 页 共

49、35 页在内容页面模板中,根据需求可以将内容页面模板的属性定义为:上标题、标题、下标题、正文、相关文章等。在 DW 中打开内容页面模板(content.shtml) ,应用TurboCMS_Java 插件来制作此模板。用到的插件为“ 内容页文档对象”:见下图“文章标题”位置点选“文档标题”钮,单击确定即可。生成如下代码:在“文章正文”位置点选“文档内容”钮,单击确定即可。生成如下代码:在“发布日期”位置点选“文档发布日期钮” ,需要设置一下发布日期的输出格式。TurboCMS 内容管理系统 Java 版本模板制作指南第 29 页 共 35 页模板中给出了几个备选日期格式,您也可以填入标准的 Java 日期格式串。生成如下代码:对于自定义字段例上标题、下标题等首先在 TurboCMS 中的表单定义中定义此字段见下图:定义好字段名后在此插件中的文本框中输入“stitle” ,单击确认即可。生成如下代码:在“相关文章”位置点击插

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 产品手册

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报