您所在的位置:小祥子 » 代码研究 » 正文

第一期:新云template.inc文件

时间:2015-01-10 编辑:本站 来源:本站原创

大家好,这是小祥子第一期的代码研究,今天为大家分析新云template.inc文件。

源代码较长,文件大小就有100kb左右,所以不在这里贴全部的源代码了,大家可以自行下载新云CMS4.0SP2,template.inc文件在inc目录下。

通过第一段代码可知,该文件是新云模板使用的核心文件。

'--是否禁用模板缓存(False=否,True=是)
Const DisabledCache = False

截至到第44行均为几个公共的Sub过程,第98行开始则是对应新云的几个标签。

Case "installdir"  : TPL_Echo NewASP.MainsiteDir

对应{$installdir},意为调用主程序的路径。

从第259行Public Function LoadXMLDocument(xNode,strXSL,strFile,sAttrib)开始则是比较模板关键的部分,比如{$xml:newslist file="newslist.xslt" channelid="1" maxnum="12" length="42"}调用文章列表,首先会Case "newslist"   Call LoadNewsList(iXMLDom),调取过程LoadNewsList(第598行),下面有很多参数可选,也包含了新云没有在后台为大家给出的一个参数strlen,通过这个参数可以调用文章的简介,当然同时要在newslist.xslt文件里写上对应的标签<xsl:value-of select="@content" disable-output-escaping="yes"/>,方可进行调用。

第639行开始,这是排序方式,我们也可以自己再写上其他的排序方式,如可以写一个评论最多的排行,SQL语句不在这里多做说明。

第1283行Private Sub LoadCustomSQLlist(iXMLDom),这个方法是一个比较灵活的方法,可以直接调用数据库里的任意表的任意字段,也就是在做二次开发后,新增了表比如说留言表,而我们要调取留言里的部分数据,使用这个过程也很方便,strSQL选项可直接写入查询的SQL语句。

看了下,基本都是同样的类型的过程或方法,通过举以上几个例子,大家对该文件已经有了一个比较清晰的认识,下次再分析新云的其他文件。

关键词:template