最新版本:V1.6.0,更新日期:2017-10-12(支持MSSQL/ORACLE/MySQL/SQLite/ACCESS)
  通过商业授权,获取最新及以后产品的源代码!

组合式标签,自主模板解析引擎

Modular label, independent template parsing engine

1  iNethinkCMS的模板技术基于“组合化自定义标签”完成。在网站模板中,您可以根据需要组合出丰富多样的标签,来实现最终网站的展示风格。
2  为了能够达到最大的复用效果,让最终的用户思想富有无穷的创造力,我们并没有在系统中提供“标签输出”功能。因此,建议您在网站模板制作中,对照此文档进行标签的制作!

!  重要提示:
1、以下标签说明及示例中的相关标签为全角,实际使用过程中应为半角字符串!
2、建议您下载完整版本《iNethinCMS标签手册》,说明与示例更丰富!

概述:

通常来看:模板建站就是将相应的“自定义标签”,通过模板引擎不断的“解释”后显示出来。所谓的“自定义标签”,您可以将之看待成为:数据库字段、数据库相应内容等信息的循环/非循环结合体。因此,一个成功CMS取决于模板引擎的功能。
iNethinkCMS的模板引擎的标签解析顺序为:页面模板 > 嵌套模板标签 > 自定义标签 > 系统标签 > 列表标签 > 分页标签 > 判断标签。

页面嵌套模板标签:

使用语法:{template:相应需要嵌套的页面路径}
操作技巧:它像.Net中的母版页、Asp中的include file
{template:/模板文件夹/头部模板文件.html}

自定义标签:

使用语法:{mytag:自定义标签名称}
相关说明:自定义标签由您在系统管理后台的“标签&页面 - 自定义标签”中自由添加
操作技巧:由于自定义标签的执行顺序(优先权)非常高,您可以在里边放入任意低于该执行顺序的其它标签
{mytag:mytagname}

系统标签:

使用语法:{sys:系统标签名称}
相关说明:系统中当前能使用的所有系统标签,均在系统相对应的地方有明确的注释
网站通用类(可以在网站中的任意地方使用):
网站名称:{sys:title}
标题附加字:{sys:seotitle}
首页关键字:{sys:keywords}
首页描述:{sys:description}
当前访问路径:{sys:sitepath}
栏目/专题/内容页面专用:
数据库字段内容读取专用标签:{field:数据库字段名},通过该标签可以读取出相应栏目/专题/内容页的指定数据库字段的内容
内容页读取自定义字段标签:{field:myfields_自定义字段标识}

列表标签:

使用语法:<!--标签名称:{$Sql=任意标准的SQL查询语句}--> (指定的内容输出标签及扩展函数) <!--标签名称-->
相关说明:可以对照《iNethinkCMS数据库结构及字段释义》文档,输出指定的信息及内容
查询10条已发布新闻信息,并按照ID倒序排列:
<!--list_content(可自由命名):{$Sql=Select Top 10 * From iNethinkCMS_Content Where [Display]=1 Order by Id Desc }-->
顺序数字:[list_content(可自由命名):i]
新闻标题:[list_content(可自由命名):title]
新闻标题(含有标题属性,颜色、样式):[list_content(可自由命名):titlex]
新闻内容:[list_content(可自由命名):content]
新闻自定义字段:[list:myfields_自定义字段标识]
可自由输入对应数据库字段内容:[list_content(可自由命名):相应数据库字段名称]
<!--list_content(可自由命名)-->

分页标签:

使用语法:<!--Page:{$SqlTable=指定数据库表 $SqlSelct=指定数据库查询字段(可为空,则查询全部字段) $SqlWhere=数据库条件语句 $SqlOrderBy=数据库排序语句 $PageSize=每页输出的信息数量 }--> (指定的内容输出标签及扩展函数) <!--Page-->
相关说明:可以对照《iNethinkCMS数据库结构及字段释义》文档,输出指定的信息及内容
已发布新闻信息分页,并按照浏览量、ID倒序排列:
<!--Page:{$SqlTable=iNethinkCMS_Content $SqlSelct=* $SqlWhere=Display=1 $SqlOrderBy=Views Desc,ID Desc $PageSize=20}-->
顺序数字:[Page:i]
新闻标题:[Page:title]
新闻标题(含有标题属性,颜色、样式):[Page:titlex]
发表时间:[Page:Createtime $FormatDate=yyyy-MM-dd]
新闻自定义字段:[page:myfields_自定义字段标识]
可自由输入对应数据库字段内容:[Page:相应数据库字段名称]
<!--Page-->

判断标签:

使用语法:{IF:$testBase="" $testValue="" $testMode=NotEmpty}表达式成立的值 {Else} 表达式不成立的值 {End If}
使用说明:它类似任意语言的判断标签,其中的else语句也可以为空。提醒:testBase与testValue的值必须包含于双引号中!
相关技巧:善于判断标签,将使您在网站中设计出很多复杂的功能
testMode,相当于判断条件,有如下可选:
mpty:testBase的值是否为空;
NotEmpty:testBase的值是否非空;
Equals:testBase的值是否等于testValue的值;
NotEquals:testBase的值是否不等于testValue的值;
GreatThan:testBase的值是否大于testValue的值(重要提示:该条下,testBase与testValue的值必须为整数字符串);
LessThan:testBase的值是否小于testValue的值(重要提示:该条下,testBase与testValue的值必须为整数字符串);
In:testValue的值是否包含于testBase的值中;
NotIn:testValue的值是否不包含于testBase的值中;
DateDiff:testBase中的(日期)值,与当前日期之间天数的差值是否小于testValue中的(数字)值。
示例:
{IF:$testBase="字符串" $testValue="" $testMode=NotEmpty}
testBase不为空[该信息被显示]
{Else}
testBase为空
{End If}

{IF:$testBase="1" $testValue="2" $testMode=LessThan}
testBase的值1,小于testValue的值2
{End If}

{IF:$testBase="某篇文章发布的日期值" $testValue="7" $testMode=DateDiff}
表达式成立
{Else}
表达式不成立
{End If}

特定标签:

包含类:i、titlex、cname、sname
特定类:{tag:paging}、{tag:prev}、{tag:next}
使用说明:在相应的页面/指定的内容输出时使用
包含类示例:
当前记录的顺序数字:[list:i]
当前记录含有属性信息的标题(颜色、样式)(新闻内容表相关有效):[list:titlex]
当前记录的栏目名称(新闻内容表相关有效):[list:cname]
当前记录的专题名称(新闻内容表相关有效):[list:sname]
特定类说明:
{tag:paging}:含有分页标签的页面专用,将输出分页的列表信息。约定:CSS命名为“page_css”,其当前页面为“.nowpage”
{tag:prev}:内容显示页面专用,将输出上一篇文章的名称及链接
{tag:next}:内容显示页面专用,将输入下一篇文章的名称及链接

扩展函数:

使用说明:在指定的内容输出时使用
$Len:
从左向右截取指定长度的字符串,示例:[list:title $Len=22]
$FormatDate:
日期格式化显示,示例:[list:title $Len=22 $FormatDate=yyyy年MM月dd日]
$Replace:
替换指定的字符串,被替换字符串与替换字符串之间用“###”间隔
示例:[list:title $Len=22 $FormatDate=yyyy年MM月dd日 $Replace=被替换字符串###待替换字符串]
$Function:
urlencode:将URL字符串进行编码
urldecode:使将已经编码的URL字符串进行解码
htmlencode:将字符串进行HTML编码
htmldecode:将HTML编码的字符串进行解码
trim:去除字符串左右两侧的空格
lower:将字符串转换为小写
upper:将字符串传换为大写
clearhtml:过滤字符串中的HTML代码
示例:[list:title $Function=trim,lower,clearhtml]
缩略图输出专用标签,在输出的内容为图片路径时有效。
$thumbmode 图片缩放模式(1,以最大高/宽,等比例缩放 2,缩放至指定高宽(可能变形) 3,以宽为标准,高自动适应进行缩放 4,以高为标准,宽自动适应进行缩放 5,以高宽为标准,进行缩放)
$thumbquality 图片压缩比例(1-100可选),为空则默认为100
$thumbw 缩略图宽度
$thumbh 缩略图高度
示例:[list:indexpic $thumbmode=5 $thumbquality=100 $thumbw=215 $thumbh=128]