零代码低代码平台 用户生产软件 软件共享
快速信息化 行业盛会邀您共享
信息列表标签  【查看:713 回复:0
   
admin 发表于:2017/8/17 16:35:15   楼主 
标签功能
infolist标签
 功能 循环输出频道里的信息(文章、图片、下载等)
 闭合 非闭合标签
 属性 id(必须):当前循环对象变量名称,格式:{$变量名.属性名}
channelid:指定输出哪个频道ID的文章列表,支持模板变量
specialid:专题ID,支持模板变量
top:输出前几条信息
orderby:表示指定字段排序(默认是按InfoOrder字段升序排列)输出,支持多个字段同时排序,注意:字段前一定要加上表的别名a。如:
[1]按信息点击排行榜(即点击次数降序排序),orderby=“a.InfoHit Desc”
[2]随机排序可以设置为:orderby="rand()"
[3]多字段排序,orderby=“a.InfoHit Desc,a.InfoTime desc”
timeformat:时间格式
titlelen:信息标题长度,截取后的标题使用InfoSTitle调用。InfoSTitle = titlelen>0 ? left(InfoTitle,titlelen) : InfoTitle
labelid:属性标记(1:热门,2:置顶,3:推荐),不同的频道模型可以在后台设置不同的属性标记
nowpage:页
keywords:关键词,可以用于实现检索功能,能检索信息标题InfoTitle或Tag字段(按Tag字段检索是7.0版新增功能)包含关键词的文章列表
suffix:设置titlelen后有效,设置截取标题前titlelen字后增加的后缀,默认为"..."
field:设置调用的字段(这是7.0版本增加的功能),主要用于性能优化,可以提高数据获取速度,减少mysql数据库传输数据量。如果不设置,标签将关联2个表,调用信息info表的所有字段和频道channel表的4个字段ChannelName,ChannelModelID,Html,LinkUrl。
在使用infolist标签的时候,大部分情况下是不需要调用频道表的数据,如果设置了field="InfoID",那么标签将不关联频道channel表,只从信息info表调用数据,这样就会大大提高速度。如果网站数据比较大,建议设置field属性,可大大提高页面打开速度。
字段设置规则:
InfoID,ChannelID,InfoTitle,InfoPrice,InfoTime,Html,LinkUrl,InfoPicture,InfoAttachment,InfoHit是信息表的必填字段,如果field设置的字段包含信息表的必填字段,最终的字段等于field设置的字段和必填字段做并集,这样更方便使用。如:field="InfoID"和field="InfoTitle"最终的结果都是一样的;
ChannelName,ChannelModelID,Html,LinkUrl,ChannelPicture,ChannelIcon,Parent,HasChild,ChannelTarget是频道表的必填字段,如果field设置的字段包含频道表的必填字段,最终的字段等于field设置的字段和必填字段做并集,如:field="ChannelName"和field="ChannelName,ChannelModelID"最终的结果都是一样的。换句话说,就是必填字段只要设置一个,所有的必填字段都会输出。

offset:要输出数据的offset
length:输出数据的长度,必须同时设置offset
key:循环的key变量,默认值为i
mod:对key值取模,默认为2
empty:如果数据为空显示的字符串,支持html,但是其中的特殊字符 < 、 > 、 '(单引号)、"(双引号)必须使用对应的字符 [ 、 ] 、 ^ 、 ^^ 替换
 备注 数据调用来源:内容管理->信息管理,数据表为info
2.信息属性
 属性名称 说明
基本信息
 InfoID 信息ID
 InfoTitle 信息标题
 ChannelID 当前信息所属频道ID
 ChannelName 当前信息所属频道名称
 SpecialID 当前信息所属专题ID
 InfoPicture 缩略图
 InfoSContent 信息简短内容
 InfoContent 信息内容
 InfoAttachment 信息附件
 LinkUrl 转向链接
 InfoTime 信息时间
 InfoAuthor 作者
 InfoHit 点击次数
 InfoFrom 信息来源
 Html 信息页面Url静态名称
 InfoAlbum 信息相册数据,格式:相册标题1###图片1###描述1@@@相册标题2###图片2###描述2,字段以###隔开,多个相册以@@@隔开。一般用这个字段来判断相册是否为空,然后调用相册标签infoalbumlist
 InfoRelation 相关信息ID,多个相关信息以逗号隔开,如:12,13,35。一般用这个字段来判断相关信息是否为空,然后调用信息相关标签inforelationlist
 Tag 多个标签以英文逗号隔开,一般设置2到5个。TAG标签是一种由您自己定义的,比分类更准确、更具体,可以概括文章主要内容的关键词,能使文章更容易被搜索到
 InfoPrice 商品价格
自定义属性
 f1 扩展字段1
 f2 扩展字段2
 f3 扩展字段3
 f4 扩展字段4
 f5 扩展字段5
扩展属性
 InfoUrl 当前信息的Url地址
 InfoSTitle 信息截取后的标题,设置titlelen属性有效,其值为InfoTitle的前titlelen字符。InfoSTitle = titlelen>0 ? left(InfoTitle,titlelen) : InfoTitle
频道表属性
 ChannelName 频道名称
 ChannelHtml 频道Url静态文件名
 ChannelLinkUrl 频道转向链接
3.实例说明实例1:输出频道ID为13的前10条信息图片
[size=1em][tr=none]
 

[size=1em]01


[size=1em]02


[size=1em]03


[size=1em]04


[size=1em]05


[size=1em]06


[size=1em]07


[size=1em]08


 [size=1em][size=1em]<infolist channelid="13" id="f" timeformat="Y-m-d" titlelen="20" top="10">
[size=1em]  <li>
[size=1em]    <a href="{$f.InfoUrl}">
[size=1em]      <img alt="{$f.InfoTitle}" src="{$f.InfoPicture}" title="{$f.InfoTitle}" />
[size=1em]    </a>
[size=1em]    <a href="{$f.InfoUrl}" title="{$f.InfoTitle}">{$f.InfoSTitle}</a>
[size=1em]  </li>
[size=1em]</infolist>



实例2: 显示指定频道前8条推荐信息
[size=1em][tr=none]
 

[size=1em]01


[size=1em]02


[size=1em]03


[size=1em]04


[size=1em]05


[size=1em]06


 [size=1em][size=1em]<!--labelid:属性标记(1:热门,2:置顶,3:推荐)-->
[size=1em]<infolist channelid="$ChannelID" empty="暂无信息!" id="f" labelid="3" timeformat="Y-m-d" titlelen="20" top="8">
[size=1em]  <li>
[size=1em]    <a href="{$f.InfoUrl}" title="{$f.InfoTitle}">{$f.InfoSTitle}</a>
[size=1em]  </li>
[size=1em]</infolist>



实例3: 信息分页
[size=1em][tr=none]
 

[size=1em]01


[size=1em]02


[size=1em]03


[size=1em]04


[size=1em]05


[size=1em]06


[size=1em]07


[size=1em]08


[size=1em]09


[size=1em]10


 [size=1em][size=1em]<!--$NowPage:表示当前页变量-->
[size=1em]<infolist channelid="$ChannelID" empty="暂无信息!" id="f" nowpage="$NowPage" timeformat="Y-m-d" titlelen="20">
[size=1em]  <li>
[size=1em]    <span class="float_right">{$f.InfoTime}</span>
[size=1em]      [<a href="{$f.ChannelUrl}">{$f.ChannelName}</a>]
[size=1em]    <a href="{$f.InfoUrl}" title="{$f.InfoTitle}">{$f.InfoSTitle}</a>
[size=1em]  </li>
[size=1em]  <!--输出分页条-->
[size=1em]  <li>{$Page}</li>
[size=1em]</infolist>




实例4: 随机显示指定频道的前8条信息(即随机排序)
[size=1em][tr=none]
 

[size=1em]01


[size=1em]02


[size=1em]03


[size=1em]04


[size=1em]05


[size=1em]06


 [size=1em][size=1em]<!--orderby="a.InfoID desc" 表示按信息ID降序排列,orderby="rand()"表示随机排序-->
[size=1em]<infolist channelid="$ChannelID" top="8" id="f"  timeformat="Y-m-d" orderby="rand()">
[size=1em]  <li>
[size=1em]    <a href="{$f.InfoUrl}" title="{$f.InfoTitle}">{$f.InfoTitle}</a>
[size=1em]  </li>
[size=1em]</infolist>