dtcms标签语法说明

发布日期:2019-11-25 作者:mi52.com 人气:

标签语法

DTcms 模板语法和C#非常接近,4.0和3.0版本中,标签语法大同小异,依然符合于技术开发人员的编程习惯。如果你是一名程序员,下面的语法我相信只需要看一次便可牢牢记住各种标签的使用规则,所以你不必担心DTcms模板难掌握。如果非程序员,难度有所加大,毕竟我们考虑到了整个系统的扩展性和二次开发,所以比较偏向于技术开发人员。


页面嵌套标签

如果想在一个模板页面中嵌入另一个模板页的内容可使用该标签,注意避免被嵌套的页面嵌套主模板页,这样会造成迭代循环。另外,嵌套的深度最多只能5层。其中src所指定的路径为当前相对路径,如src="common/_header.html"


<!--一般在当前模板下使用可下面的嵌套标签-->

<%template src="模板页面相对路径"%>


<!--如需跨模板访问可使用下面的嵌套标签,一般插件模板使用较多,前提该模板须存在,否则访问不到-->

<%template skin="模板目录名" src="模板页面相对路径"%> 

当前模板路径标签

因为3.0版本中增加分站的功能,所以这里和2.1及前版本的模板标签有所不同。输出不包含/,如:templates/green/images/logo.png,同一模板目录下使用第一个种标签即可


<!--当前模板路径标签-->

<%templateskin%>  <!--访问其它模板的路径标签,前提该模板须存在-->

<%templateskin="模板目录名"%> 


嵌入C#代码标签

如果其它标签无法实际你想要的效果,你可以试一下直接写C#代码,如意不能使用Response.Write

<%csharp%>

  //C#代码

<%/csharp%> 


引用命名空间标签

如果需要引用命名空间则需要使用该标签,注意此标签不能放在嵌套的页面且需要放置在模板页的最顶部

<!--示例:<%namespace "DTcms.BLL"%>-->

<%namespace "命名空间"%> 

 

普通变量标签

模板页的变量概念实际上就是C#的变量,在模板页调用时需加上大括号,这里往往和模板页的JS的方法体互相冲突,所以在写JS时,遇到大括号一定要换行。

<!--直接变量-->

{varname}


<!--实体变量,如:{config.webname}-->

{var.item}


数据变量标签

数据变量一般在循环列表时使用到,另外在显示内容时也会用到


<!--循环列表时的数据变量,如:{dr[title]}-->

{var[...]}


<!--显示实体数据变量,如:model.fields[title]-->

{var.item[...]}


loop循环标签

loop循环标签主要是数据列表中使用的,其中自带有行号变量datarow__loop__id,该变量是从1开始


参数说明:

datarow:DataRow类型的变量,同一页面内不可重复,否则编译出错


datatable:DataTable类型的变量,使用前请确保该参数已声明赋值


<!--loop循环标签-->

<%loop datarow datatable%>

  ...

<%/loop%>


foreach循环标签

foreach标签和C#的语法是一样的,写法也差不多,相信技术人员一看就懂。注意与loop标签不同的是它没有自带的行号变量,需要手动声明。


参数说明:

type:数据类型,如DataRow


item:数据类型的变量名,自定义变量名


list:数组、结构、对象、引用类型


<!--foreach循环标签-->

<%foreach(type item in list)%>

  ...

<%/foreach%>


for循环标签

for标签和C#的语法也是一样的,一般很少用到。


参数说明:

i:整型变量


count:整型变量


<!--for循环标签-->

<%for(int i=0;i<=count;i++)%>

  ...

<%/for%>


if判断语句标签

if判断语句与C#的语法一样,3.0支持二种写法,保留旧的写法


<!--第一种格式写法(推荐)-->

<%if(...)%>

  ...

<%else if(...)%>

  ...

<%/if%>


<!--第二种格式写法(旧写法)-->

<%if ...%>

  ...

<%else if ...%>

  ...

<%/if%>


continue退出当前循环标签

循环标签中分支用以结束当前循环,直接进入下一次循环的标签,使用方式同传统程序一致。


<!--continue标签-->

<%continue%>


<!--使用示例,当i等于5时退回并进入下一条循环-->

<%for(int i=0;i<=count;i++)%>

  <%if(i==5)%>

    <%continue%>

  <%/if%>

<%/for%>


break结束循环标签

在循环标签中用以结束循环,进入后续程序的标签,使用方式同传统程序一致 。


<!--break标签-->

<%break%>


<!--使用示例,当i大于5时结束循环-->

<%for(int i=0;i<=count;i++)%>

  <%if(i>5)%>

    <%break%>

  <%/if%>

<%/for%>


获取GET传输参数标签

获取URL地址GET传输的参数值


<!--request标签,varname为参数名-->

{request[varname]}


截取字符串长度标签

当一个字符串的长度大于你想要的值时可使用该标签


参数说明:

num:int类型,字符串长度


<!--cutstring标签,{...}为变量-->

<%cutstring({...},num)%>


日期格式转换标签

把日期字符串转换成你想要的格式


参数说明:

strFormat:日期格式


<!--datetostr标签,{...}为变量-->

<%datetostr({...},strFormat)%>


<!--示例一:输出年月日格式的日期-->

<%datetostr({varname},yyyy年MM月dd日)%>


<!--示例二:输出年月日时分秒格式的日期-->

<%datetostr({varname},yyyy年MM月dd日HH时mm分ss秒)%>


整型格式转换标签

当一个字符串的想转换成一个整型的数字时可使用该标签


<!--strtoint标签,{...}为字符串变量-->

{strtoint({...})}


直接输出内容标签

当一个方法返回的是字符串内容,而我们又想直接在模板页中直接输出可使用该标签。该标签支持两种写法,推荐用第一种。


<!--第一种写法(推荐)-->

<%=方法名(参数一,参数二,...)%>


<!--第二种写法(旧写法)-->

<%write 方法名(参数一,参数二,...)%>

 

1.5 声明变量与赋值标签

和C#语法基本一致,需要声明或在需要接受一个方法返回的内容时可以使用该标签。


参数说明:

type:可选,变量的类型,如果有type则首先创建对象再赋值,否则直接赋值


ref:变量名,同一页面内不可重复


expression:变量、常量或方法都可以


<!--第一种写法(推荐)-->

<%set [type] ref=expression%>


<!--示例一-->

<%set int num=1%>

<!--再次使用时不用再声明-->

<%set num=2%>


<!--示例二-->

<%set DataTable dt=get_list(参数一,参数二,...)%>

<!--第二种写法(旧写法)-->

<%set [(type)]{ref}=expression%>


<!--示例一-->

<%set (int){num}=1%>

<!--再次使用时不用再声明-->

<%set {num}=2%>


<!--示例二-->

<%set (DataTable){dt}=get_list(参数一,参数二,...)%>


上一篇:dtcms标签语法

下一篇:dtcms通用标签

返回顶部

拨打电话
首页