模板标签是什么呢?从通俗的角度来说它就是管理网站内容是如何调用出来的。包括按指定的日期、栏目、条件、需求调用到网页的指定位置等,所以,模板标签是一款CMS系统中很重要的组成部分,正是因为它,才牵引着网站的千变万化,也是表现网站策划制作者智慧的重要地方。
一般的动态语言网站,网页在展示出来之前,经过两个很重要的步骤:服务器端和浏览器的解析。
当访客通过浏览器请求了一个网址之后,背后发生了一连串事件,除了网络协议、路由以外,首先响应的就是服务器端的解析。
服务器端负责解析脚本的组件会接受到访客的请求,从而根据请求的网页的脚本去读取数据,然后输出HTML代码。
访客的浏览器就会接收到服务器端输出的HTML代码,然后结合页面自带的js和css代码,以代码指定的样式和排版解析并展示出来。也就是我们用浏览器看到的网页了。
因为浏览器解析的是HTML代码,那么在服务器端如何输出HTML,就成CMS需要解决的事情了。
- CMS出来之前,我们制作动态语言网站,都是从头到尾手写代码,包括前台的调用展示和后台内容管理。
- CMS出来以后,我们只需要规划好栏目,制作模板,并且根据策划调用内容出来,方便很多,幕后功臣很大一个就是模板标签在起的作用。
有了模板标签,我们前台调用展示就无需手写代码了,因为CMS系统会把一些常见的调用条件简化成一些类似HTML格式的语句,从而降低前台调用的学习成本。
在CMS模板标签的演变进程,又有了灵活性和易用性的艰难选择,这就不具体展开了。
K9模板是在灵活性和易用性做了一个平衡的选择:挑选标签体系中的万能标签作为唯一标签。
- 好处:用户无需注意标签适用范围,就是全站所有页面都能使用。
- 弊端:学习门槛比较高,万能标签就是和数据库打交道,虽然不能成为编程语言,但是掌握编程语言的话会让标签强大无比。
在万能标签当中,我们前期只要硬啃一些苦工,你就可以站在K9的肩膀之上,用K9的强大标签编属于你自己想要的网站。这相比从零开始编码,已经省了非常多的力气。
模板标签的历史就介绍到此,下面开始初始K9模板标签(贴士:K9模板标签在K9所有版本中都一样,安装了对应的应用,该应用的模板标签才能使用)。
K9模板标签在K9的模板页面当中。
经过前面的简介系列,我们得知:
- 模板保存在./templates/当中,每套模板一个文件夹。
- 网站使用哪套模板,取决于根目录./config.php里面的设置。
K9的模板文件组成由以下规则组成:
- 模板文件以php为后缀名保存。
- 包括碎片在内每个模板文件,开头代码统一为:<?php !defined('INC') && exit('Load failure!'); ?>。
- 模板文件的格式为utf-8,不带bom签名。
每套模板文件夹结构规则如下:
- 首页在模板文件夹根目录,统一命名为:index.php。
- 每个应用的模板对应一个文件夹,命名为应用的目录名称。
- 除了应用目录名称,其他目录命名自由,包括images、js和css文件夹。
每个应用文件夹里面,结构规则如下:
- 除了content以外,每个应用的根目录都可以指定home.php为内容应用分类的绑定的首页。
- 应用的根目录除了home.php以外,其他的文件皆可以接受动态路径响应。
- 应用如果有栏目等属性,应用里面则有对应的栏目文件夹。
内容应用的模板结构,保存在./templates/name/content/
论坛应用的模板结构,保存在./templates/name/forum/
其中,name代表模板的目录名称,如:企业版模板sky目录名称是sky,地方门户版模板orange目录名称是orange。
如上面所述,每个模板文件都是以php作为后缀名。
模板文件支持:
- PHP语句。
- 所有K9模板标签类型。
- 所有K9模板标签支持使用<!--{@res.xxx}-->注释,以方便制作网页时的可视化排版。
- HTML标准代码。
- HTML标准注释符号<!--注释内容-->,该注释经过K9模板引擎解析后正常输出注释。
- KingCMS注释符号<!---注释内容--->,横线三条或以上,该注释经过K9模板引擎解析后,不输出。方便用来标记调用注释。
K9模板文件当中,最重要的是模板标签。
模板标签由缩略图调用和常见类型组成,其中常见类型标签由以下21类组成:
- 静态标签
- 变量和数组类型标签
- 系统参数标签
- 模板注释代码
- 数据统计[@rs.count]
- 语句[foreach循环]
- 语句[for循环]
- 语句[if判断]
- 语句[switch选择]
- 语句[break 退出循环][continue 跳过本循环]
- 引用模板文件[include 和 require]
- 标签属性[size 截取指定长度的文本]
- 标签属性[code 转换数据输出格式]
- 标签属性[date 日期格式转换]
- 标签属性[pagelist 分页标签]
- 数据查询[循环读取]{@res}{@res.select}
- 数据查询[单行读取]{@rs.one}
- 数据查询[双值对应读取]{@res.two}
- 数据查询[关联读取]{@res.join}{@res.select_join}
- 数据查询[关联单行读取]{@rs.one_join}
- 数据查询[站内搜索引擎]
具体的用法在云端后台:帮助,可以展开详情了解。也可以阅读公开的在线版。如果两者有异议,请以云端的为准。
建议初步阅读以上所有的标签类型,然后动手挑选一些简单的进行实验,在接着的篇章当中,我们会从容易的着手,逐一为你展开标签调用范例实例。
转载请注明出处:唯众网络