标签设计-Loop标签
标签用于在定义模板的时候指定显示内容。
标签有两类:
1. 预定义标签:其格式为{$标签名}。由任意html代码和系统标签组成,区分大小写。简言就是把一组系统标签实现的功能集中放到一组,如果在多个模板文件中使用到,在有参数等变动时直接在后台修改就可以修改到全部了。直接在模板文件中插入该标签名即可。如{$国内新闻列表}。为了使用户快速上手,在后台管理->网站管理->标签管理->预定义标签管理 -> 默认 中已包含建站中将使用到的大部分预定义标签。在模板页中插入相应文字即可完成模板制造,但要显示更多丰富个性样式,和调用方式就要使用系统标签了。
2. 系统标签: 系统标签分为循环标签和普通替换标签两类。系统标签不区分大小写。参数值可以用单双引号包围,也可以不要。与html标签写法相同。替换标签,以<cms:标签名开始,中间时参数,必须以闭合箭头方式结尾“/>”其格式为<cms:datetime formart=’yy-hh-dd’>,<tag:title maxlen=”25”/>等,该标签是最基本的标签,预定义标签中也要使用到该类标签。直接在模板页中使用更多的灵活性,需要对系统有一定的熟悉程度,有一定网页制作基础。 性能如此的标签分类兼容了灵活性和简单性,但标签解析过程通常是要通过遍历库或分析模板内容来实现的,太多的标签(种类)会牺牲性能,所以如果在解析前程序就知道模板中包含哪写类别的标签从而提高解析速度和性能。 默认情况下只替换本页中的相关信息不需要申明,单调用到与本页循环无关的记录时就需要申明该行为了,如我在下载栏目模板里需要调用新闻栏目的热点新闻,需要在顶部加入相应的声明语句。如:use loop.custom;页面中需要直接解析与本页无关的标签use replace.news;
一)<cms:Loop标签 参数表
说明:该标签为系统最重要标签,提供丰富的参数设定可以定制出任意的循环显示效果。默认情况下在列表页中使用该标签可以循环显示分页时获取ID值的记录列表。如果需要循环非默认ID值的记录,需要在顶部申明。Use loop.free;如频道首页,站点首页等情况。
1参数source (循环源)非选参数说明:默认为none,该参数只是说明要循环的是什么,然后会根据该指示循环替换循环体内相应的表情。【值列表】
值 |
默认 |
说明 |
None |
√ |
仅重复n次循环体内的内容 |
sort |
循环体内对象为栏目 |
|
Pager |
循环体内对象为分页位置 |
|
Article |
循环体内对象为文章 |
|
Donwloads |
循环体内对象为下载 |
|
picture |
循环体内对象为图片 |
|
flash |
循环体内对象为flash |
|
2参数targetid (循环目标值) 非必选参数 说明:默认为?【值列表】
值 |
默认 |
说明 |
? |
√ |
不指定循环值,根据当前页取得的参数值循环 |
一个数字 |
指定循环循环源上的ID为该数字的对象 |
|
数字字母下划线组合的名称 |
在显示分页的循环中指定要显示分页的循环体的名称 |
3参数times (循环次数) 非必选参数说明:纵向循环次数默认为20【值列表】
值 |
默认 |
说明 |
数字 |
√ |
循环次数,为一整数,默认为20 |
4参数id (该循环的唯一ID) 非必选参数说明:指定该循环体的一个唯一ID,其主要作用在于配合分页输出。如果要输出分页,如文章列表页模板必须指定该参数。【值列表】
值 |
默认 |
说明 |
数字字母下划线组合的名称 |
无 |
5参数step (循环步长) 非必选参数说明:主要作用在于横想循环n条记录,每次循环将执行n次跳跃。然后纵向循环n条记录的情况中。在使用该参数时候如指定为3表示先横向循环3条记录。那么循环体内的标签相应要放置3个。注意此时设置times参数应该相应减少。如times设置为20,step设置为4那么本页面将循环20×4=80条记录。系统会自动根据此两项参数设定进行分页。
【值列表】
值 |
默认 |
说明 |
数字 |
无 |
要横向循环的次数 |
6参数fliter (循环过滤) 非必选参数说明:循环体内容为指定自归类属性的记录。如循环热点新闻,滚动新闻等。在后台添加记录时候勾选了相应自归类属性的记录。BetterCMS记录的默认属性有热点,推荐,和滚动三项,但可以后台自行添加更多归类属性。
【值列表】
值 |
默认 |
说明 |
Hot |
无 |
热点 |
commend |
无 |
推荐 |
scroll |
无 |
滚动 |
字母数字下划线中文等管理员自定义的名称 |
无 |
7参数orderby (排序方式) 非必选参数说明:指定循环的记录按某字段排序,格式为“排序字段|是否反序”,两个参数必须同时指定,指定多个排序字段用逗号分隔。如orderby=”hot|false,date|true”,表示先降序按hot排列,再升序按date排列。
【值列表】
值 |
默认 |
说明 |
aid |
无 |
按id号排序 |
title |
无 |
标题 |
date |
√ |
日期 |
Adder |
无 |
添加人 |
hot |
无 |
热点 |
commend |
无 |
推荐 |
scroll |
无 |
滚动 |
其他管理员自定义的归类属性名 |
无 |
例子:
以下示例说明了在列表页模板中每页显示20条记录,并使用自定义的分页样式。
该范列中定义了两个<cms:loop循环体,一个是循环显示15条记录,第二个循环是循环显示分页。
示例1
<table width="300" border="0" cellspacing="1" cellpadding="3">
<cms:loop id='myarticle' source='article' targetid='?' times=15>
<tr>
<td><a href=’<cms:recordurl>’ target=’_blank’><cms:title maxlen='25'/></a></td>
</tr>
<cms:loop/>
<tr>
<td>分页:
<cms:loop source='pager' targetid='myarticle' times=’10’ overflow=’…’>
<a href="<cms:pageurl/>">
[<cms:i/>]
</a>
<cms:loop/>
</td>
</tr>
</table>
一)<cms:Loop循环体内的替换标签
1参数<cms:title (标题)
说明:记录标题
【参数表】
值 |
默认 |
说明 |
maxlen |
无 |
显示最大字符长度 |
Overflow |
Overflow=’’ |
当超出最大显示字符长度时候显示字符 |
例子:如设置为<cms:title maxlen=10 Overflow=’…’/>,当一条记录字符的长度大于10时候, 效果:
·中国空军曾逼退外战机 ·美国MTV电影大奖揭… ·查韦斯打造南美梦工厂…
2参数<cms:date (日期)
说明:添加日期
【参数表】
值 |
默认 |
说明 |
formart |
yyyy-mm-dd |
格式化日期样式 |
例子:
·<cms:title/> <span style=’font-size10px;><cms:date formart=’yyyy-mm-dd’/></span>
效果:
·中国空军曾逼退外战机2006-06-02 ·美国MTV电影大奖揭晓 2006-06-01
2参数<cms:comment (标题旁评论链接)
说明:设置此标签同时在后台指定了允许评论的记录,在标题旁就会显示评论字样。
【参数表】
值 |
默认 |
说明 |
text |
评论 |
显示的文本字样 |
css |
无 |
Css样式名 |
style |
无 |
Style样式内容 |
例子:·<cms:title/> <cms:comment text=’评’ style=’ text-decoration: underline;color:red’>
添加记录时设置为标题旁显示评论生成的文件显示效果为
·胡鞍钢呼吁增国防费用 评 ·中国空军曾逼退外战机 评
3参数<cms:fileurl/> (链接地址)
说明:当前记录终页链接地址,在循环栏目时会替换为栏目地址,文章适会替换为文章地址,分页时为分页地址。
【参数表】
值 |
默认 |
说明 |
无 |
例子:
·<a href=”<cms:fileurl/>” target=”_blank”><cms:title><cms:date> <cms:comment/></a>
3参数<cms:i/> (链接地址)
说明:输出当前循环的i
【参数表】
值 |
默认 |
说明 |
无 |