KooCMS模板引擎详解
来自站长百科
导航: 上一页
在KooCMS系统中,所有前台页面(包括静态页面和动态页面)都是由模板解析引擎负责数据的获取,页面的渲染的。
这中间涉及到三个重要的概念:标签,对象,模板
标签[ ]
#if #set #foreash 这些是系统标签
#news #pager #newslist 这些是扩展标签
系统标签和扩展标签都采用相同的语法,只是参数形式不同。
两者的区别在于:系统标签用于在模板中实现基本的执行逻辑:顺序、判断、循环、赋值等。扩展标签是基本系统标签上扩展的标签语法,作用在于通过参数的设置从系统中(通常是数据库)获得符合相应条件的数据,并将在封装到对象,输出到模板中。
对象[ ]
模板中的对象以下列方式来调用:
对象名.属性名,对象名.方法名(参数1,参数2....)
模板中的对象可以从三种方式产生:
- 第一种方式是调用#set标签,进行赋值。
- 第二种方式是调用扩展标签。如,调用#news标签,则系统会返回一个名为newsInfo的文章对象,调用该标签后,就可以以 $newsInfo.属性名的方式来获取该对象的属性值。
- 第三种方式则是模板解析引擎根据当前的上下文,默认输出的对象。
前两种方式很好理解,这里需要详细介绍第三种方式:
对于静态页模板,模板引擎会自动输出以下对象:
- 站点信息对象,对象名:siteInfo,具有的SiteName属性。
- 数学操作辅助对象,对象名:math,用于常见的数学计算。
- 字符操作辅助对象,对象名:string,用于常见的字符串操作。
- 随机数操作辅助对象,对象名:random,用于操作随机数。
- 会员系统设置信息对象,对象名:membership,封装会员系统的相关设置信息。
- 系统常量集合对象,对象名:literal,封装后台设置的系统常量集合。
对于动态页模板,模板引擎除了输出上面静态页输出的6大对象外,还输出以下五大对象:
- 当前用户身份信息对象,对象名:identity,封装当前登录用户的身份信息
- 当前请求POST集合对象,对象名:form,封装当前请求的POST数据集合
- 当前用户的会话对象,对象名:session,封装当前请求的Session集合
- 当前请求QUERYSTRING集合对象,对象名:query,封装当前请求的GET请求的QueryString数据集合
- 当前请求的cookie集合,对象名:cookie,封装当前请求包含的Cookie数据集合。
特别的,在栏目页的模板里,系统默认为输出当前栏目对象,对象名为columnInfo,因此在栏目页可以直接调用columnInfo对象
同样,在文章内容页模板里,系统默认为输出当前文章对象,对象名为newsInfo,因此在内容页可以直接调用newsInfo对象
模板[ ]
使用标签、对象的属性值的调用,html代码的组合。
模板文件可以嵌套、包含 ,相关的语法标签是:#parse 标签、#include标签。
相关条目[ ]