LeadWit CMS.NET-loop语句专题介绍
导航:返回上一页
loop语句专题介绍
这里以文章模块的调用为例子介绍,其他模块请类推:
用法一:
<%loop (ArticleInfo) articleinfo articlelist%>
{articleinfo .Id}--{articleinfo .Title}
<%/loop%>
说明:
articlelist:可视为数据源,已在前台模板或后台编码程序文件中定义好,类型为泛型list<T>,这里为LeadWit.Common.Generic.List<ArticleInfo>。
articleinfo:为循环变量(ArticleInfo对象的实例化),可自定义,不限大小定,变量命名规则同C#规则,建议全部为小写。
(ArticleInfo):为循环变量的类型。
蓝色部分:蓝色部分为循环体,其中{articleinfo .Id}、{articleinfo .Title}为循环变量的引用,ArticleInfo对象的成员列表,可参考《LeadWit CMS.NET 1.0 SDK手册》
灵活用法举例:
上面提到“articlelist”是数据源,已在前台模板或后台编码程序文件中定义,这里说明一下如何在模板中定义“articlelist”变量,并为其赋值。
<%set (List<ArticleInfo>){articlelist}=ArticleFactory.GetList(…)%>
<%loop (ArticleInfo) articleinfo articlelist%>
{articleinfo .Id}--{articleinfo .Title}
<%/loop%>
红色部分是新增部分,用了一个定义变量的模板语法,变量的类型为List<ArticleInfo>,变量名为articlelist,调用ArticleFactory.GetList(…)方法为变量赋值,有关ArticleFactory.GetList(…)方法的具体参数和用法,请参考《LeadWit CMS.NET 1.0 SDK手册》
注意:
请注意里的大小写,LeadWit CMS.NET中的使用PascalCase命名规则,即类型、方法、命名空间,由多个单词组成的名称中,每个单词除第一个字母大写外,其余的字母均小写。
类型的属性,无论几个单词构在,只有第一个字母大写,其余均小写。
用法二:
<%loop id="articleinfo" [module="article" | method=”ArticleFactory” type=”ArticleInfo”] top="20" cid="506" status=”isgood”
where="userid=1" trace="false" cache="true" cachetime="60"%>
{articleinfo .Id}--{articleinfo .Title}
<%/loop%>
说明:
红色部分id="articleinfo" [module="article" | method=”ArticleFactory” type=”ArticleInfo”]”,中的参数是必须的,如果缺少程序将报错。
其中[module="article" | method=”ArticleFactory” type=”ArticleInfo”],在特定情况下使用module=”…”简写形式可代替method=”
ArticleFactory” type=”ArticleInfo”。
特定情况指module的值(这里为article)调用的模块为“module的值(首字母大定) Factory”即module=”article”,可转换为method=”ArticleFactory”
type=”ArticleInfo”,如LeadWit CMS.NET中的UserClassFactory类型,便不能使用简写,系统会自动转换为method=”UserclassFactory” type=” UserclassInfo”,这样是错误的。
几个常用的属性进行说明:
top: 取值数值型,要调用记录条数,请输入数值型,取值在1~100之前,取值越大,页面加载时间越长。
cid:记录所属栏目的ID,类型为数值型或字符串型,视不同模块而定
sid:记录所属专题的ID,类型为数值型或字符串型,视不同模块而定
uid:记录所属用户的ID,类型为数值型
status:调用特定的状态,如isgood,ishot等,即数据库中相应字段值为1和后台相应状态为选中状态。
where:SQL查询条件的where部分,开头不要写连接逻辑(and 或 or等),默认使用and连接,书写规则遵循T-SQL的书写规则,具体可调用字段
trace:取值true/false(默认),是否输出SQL语句便于调试,设为true则将当前语句的SQL语句输出到页面的顶部。
cache:取值true/false(默认),是否缓存,对于一些不经常改变的内容,建立使用缓存,可大大提高网站的访问速度。
cachetime:取值数值型,默认值为:30,单位:分钟,表示缓存的分钟数
高级用法:
Loop语句中属性值可使用变量,如下所示:
<%loop id="articleinfo" module="article" top={topnum} cid="506" where="userid={nowuid}"%>
这里两处用到了变量,展示loop中两种变量的使用方法,上面黄色标识部分。
注意:
所有属性名称全部小写。
以上方法一相比之下适合较了解LeadWit CMS.NET的开发人员,而方法二较适用于模板制作人员,大家可根据自己的喜好选用。