个人工具
名字空间
变换
操作

CMSware内容列表CMS LIST

来自站长百科
2010年6月2日 (三) 07:21Ahbaybface (讨论 | 贡献)的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到: 导航, 搜索

导航:返回上一页

该调用标签可实现各种类型的文章(图文)列表的调用.特别提醒:使用AutoMini函数自动缩略图需要php支持GD扩展

本标签对应的系统调用函数为CMS_LIST()。

属性 必需 默认值 描述

<CMS action="LIST" return="List" NodeID="" Num="" NodeGUID="" Orderby="" where="" TableID="" ignore="" Tpl="" Cache="" returnKey="" />

NodeID ""

调用结点ID

  • NodeID="":调用所有结点,此时需要设置TableID
  • NodeID="self":自动获取结点ID
  • NodeID="1,2,3,4":调用结点id分别为1,2,3,4下的内容
  • NodeID="all-10" :调用结点id为10(含所有子结点)下的内容
  • NodeID="345":调用单一结点id为345下的内容
  • NodeID="0":调用根结点下的内容
  • NodeID="{$NodeInfo.NodeID}" :结点ID为变量“ NodeInfo.NodeID”
Num ""

调用条数

  • Num="": 调用所有内容列表
  • Num="10,20": 从第10条以后(11条)开始调用,共20条记录
  • Num="page-15":分页调用,每页15条
  • Num="20":调用用20条
NodeGUID ""

调用结点唯一标识符

  • NodeGUID="com.cmsware":调用结点唯一标识符为“com.cmsware"的结点下的内容
  • NodeGUID="all-com.cmsware":调用结点唯一标识符为“com.cmsware"(含所有子结点)下的内容

注意:NodeGUID不能和NodeID同时使用,并且NodeGUID优先级高于NodeID。结点唯一标识符建议使用”域名.结点名“的形式以保证唯一性。(对于对外发布共享的结点更需要注意这点)

OrderBy -

排序 一般无需设置

  • 系统默认OrderBy="i.Top DESC,i.Sort DESC,i.PublishDate DESC": 按置顶-权重-发布时间排序
  • 字段后面的DESC是指逆序,就是大的在前,日期是新的在前。除了你指定置顶排序的外,最新的也在上面
如果你手工指定OrderBy 参数,就需要自己决定哪些排序字段
order="ASC": 正序
order="DESC": 倒序
  • Orderby="rand()" :随机调用, 每次在后台刷新这个页面都会显示随机值
  • OrderBy="Hits_Total":按照总点击数排序
  • OrderBy="Hits_Today":按照今日点击数排序
  • OrderBy="Hits_Week":按照本周点击数排序,从周一开始统计
  • OrderBy="Hits_Month":按照本月点击数排序
  • OrderBy="Hits_Date":按照最新访问时间排序
  • OrderBy="CommentNum":按照评论总数排序 。
where -

用于附加额外的查询条件 比如where="c.Photo != "实现了只调用Photo字段不为空的内容记录,可以实现图文调用.这里的" c"用于区别数据表,以免导致岐义:c代表 cmsware_publish_1, co代表cmsware_plugin_base_count,i代表cmsware_content_index.注意:mysql5的用户,因为字段里NULL值的问题,如果要判断某个字段为空值,请用 c.field IS NOT NULL

TableID -

内容模型ID 一般无需设置,系统根据NodeID的值可以自动获TableID

  • TableID="1": 调用内容模型ID为1的结点的内容(默认为新闻系统模型)
ignore -

忽略结点ID

  • ignore="1,2": 这样是忽略结点ID为1和2的结点
Tpl -

指定调用的子模版

  • Tpl="list_style_1.html": 调用子模版“list_style_1.html”
Cache -

模版中的CMS调用通过使用Cache,可以大幅提升批量更新的效率. 该标签只有门户版可用

  • Cache="1":设置是否使用缓存,“1”为使用。 特别注意,只有模版公共调用的部分使用Cache才有效果,比如内容页头部的导航NODELIST调用,或者top10之类的调用,结点首页的page-10分页调用最好不要用Cache, 因为不会提升任何效率.
returnKey -

可以定义内容列表记录返回那些字段,一般列表只需要获得Title即可,而无需返回Content 等字段,使用此属性,可以一定程度上提高更新效能。 该标签只有门户版可用

  • returnKey="Title,Keywords":返回标题和关键词字段


键名 类型 描述

返回2维数组($List)

IndexID string 内容索引ID
ContentID int 内容ID
NodeID int 归属结点ID
URL string 内容URL地址
PublishDate string 内容发布时间戳
Top int 置顶权重
Sort int 排序权重
Pink int 精华权重
内容模型字段(N) - 根据具体的内容模型返回不同的字段值

目录

普通内容列表

例子 1:简单文章列表调用

效果图:

Cmsware144.gif

调用代码:

<CMS action="LIST" return="List" NodeID="2,5" Num="10" />
<!--调用结点ID为2和5的前10条记录-->
<LOOP name="List" var="var" key="key">
- [<a href="[$var.NodeURL]" target="_blank" > [$var.NodeName] </a>]
<a href="[$var.URL]" target="_blank" title="[$var.Title]" >
[@CsubStr($var.Title,0,16)]
</a>
<!--显示文章链接,自动截取标题长度16-->
<br>
</LOOP>

例子 2:循环中实现折行显示(1行显示多条),以下是一行显示3条的调用例子

效果图:

Cmsware145.gif

调用代码:

<CMS action="LIST" return="List" NodeID="2" Num="9" />
<table cellspacing="0" cellpadding="0" width="98%" align="center" border="0">
<tbody>
<tr>
<LOOP name="List" var="var" key="key">
<if test="$key==0" >
<td width="33%" height="16">
·<a href="[$var.URL]" target="_blank">
[$var.Title]
</a>
</td>
<elseif test="$key%3==0">
<!--将这里的3修改为2,就可以实现一行显示2篇文章,以此类推 -->
</tr>
<tr>
<td width="33%" height="16">
·<a href="[$var.URL]" target="_blank">
[$var.Title]
</a>
</td>
<else>
<td width="33%" height="16">
·<a href="[$var.URL]" target="_blank">
[$var.Title]
</a>
</td>
</if>
</LOOP>
</tr>
</table>

例子3:奇偶行背景不同或色彩不同的调用方法

<CMS action="LIST" return="List" NodeID="20" Num="9" OrderBy="PublishDate" / >
<table width="98%" align="center" border="0">
<tbody>
<LOOP name="List" var="var" key="key">
<tr>
<!---如果循环变量能被2除尽,就是偶数了--->
<if test="$key % 2==0">
<td width="33%" height="16" backgroud='#ff0000'>
·<a href="[$var.URL]" target="_blank">
[$var.Title]
</a>
</td>
<else>
<td width="33%" height="16" backgroud="#aa1111">
·<a href="[$var.URL]" target="_blank">
[$var.Title]
</a>
</td>
</if>
</tr>
</LOOP>
</tbody>
</table>
</tbody>
</table>

例子4:取出最近30天的内容列表

<CMS action="LIST" return="List" NodeID="121" Num="6" where="i.PublishDate >= UNIX_TIMESTAMP( )-(3600*24*30)" />
<LOOP name="List" var="var" key="key">
<td align="left" height="34" valign="top">
[@CsubStr($var.Title,0,15)]
</td>
</LOOP>

有时想按内容的发布时间和当前时间比较来判断取出几天内的,或指定的时间段内的列表,因为思维(CMSware)保存在数据库中的发布时间字段PublishDate是按Unix时间戳方式保存的数值,必须利用Mysql数据库提供的Unix时间戳函数 UNIX_TIMESTAMP来返回当前服务器时间戳数值,然后和PublishDate字段做比较,最后我们利用思维(CMSware)调用中的 where参数,给出查询数据库条件语句,从而判断发布时间取回内容(小知识:Unix时间戳是指从'1970-01-01 00:00:00'GMT开始的秒数)

请参考下面的范例

范例1:取发布时间在1天内的条件,改动1即可变天数(意思是发布时间戳比当前时间戳大1*86400秒,即一天)

where="i.PublishDate>=UNIX_TIMESTAMP()-(1*86400)"

范例2:取发布时间在指定时间段内的条件(意思是发布时间戳大于第一个时间并小于第二个时间)

where="(i.PublishDate>=UNIX_TIMESTAMP('2005-07-01') and i.PublishDate>=UNIX_TIMESTAMP('2005-09-30')"

或可以精确到秒

where="(i.PublishDate>=UNIX_TIMESTAMP('2005-07-01 00:00:00') and i.PublishDate>=UNIX_TIMESTAMP('2005-09-30 23:59:59')" 

例子 5:精华文章列表调用

调用代码:

<CMS action="LIST" return="List" NodeID="all-6" Num="10" where="i.Pink=1" />
<!--"all-6"是调用结点ID为6下的前10条记录(含子结点)-->
<loop name="List" var="var" key="key" >
- [<a href="[$var.NodeURL]" target="_blank" > [$var.NodeName] </a>]
<a href="[$var.URL]" target="_blank" title="[$var.Title]" >[@CsubStr($var.Title,0,16)] </a>
<!--显示文章链接,自动截取标题长度16-->
<br>
</loop> 

例子 6:置顶文章列表调用

调用代码:

<CMS action="LIST" return="List" NodeID="all-6" Num="10" where="i.Top=1" />
<!--调用结点ID为6下的前10条置顶权重为1的记录(含子结点)-->
<loop name="List" var="var" key="key" >
- [<a href="[$var.NodeURL]" target="_blank" > [$var.NodeName] </a>]
<a href="[$var.URL]" target="_blank" title="[$var.Title]" >[@CsubStr($var.Title,0,16)] </a>
<!--显示文章链接,自动截取标题长度16-->
<br>
</loop>

补充:以下这句是表示调用所有置顶的

<CMS action="LIST" return="List" NodeID="all-55" Num="15" where="i.Top>0" />

以下这句是表示调用所有没置顶的

<CMS action="LIST" return="List" NodeID="all-55" Num="15" where="i.Top=0" />

注: i.Top是指模型的公共字段"置顶", 这个值等于0就表示没置顶,大于0就表示置顶

例子 7:最热文章列表调用

调用代码:

<CMS action="LIST" return="List" orderby="Hits_Total" TableID="1" num="10" Cache="1" />
<!--调用新闻系统模型(TableID=1)最热总点击前10条记录-->
<loop name="List" var="var" key="key" >
· [<a href="[$var.NodeURL]" target="_blank" > [$var.NodeName] </a>]
<a href="[$var.URL]" target="_blank" title="[$var.Title]" >[@CsubStr($var.Title,0,16)] </a>
(<font color="#ff6600">[$var.Hits_Total]</font>)
<br>
</loop>

注:你可以通过修改orderby实现本日最热、本周最热、本月最热以及总最热文章的调用。

  • 本日最热:<CMS action="LIST" return="List" orderby="Hits_Today" TableID="1" num="10" />
  • 本周最热:<CMS action="LIST" return="List" orderby="Hits_Week" TableID="1" num="10" />
  • 本月最热:<CMS action="LIST" return="List" orderby="Hits_Month" TableID="1" num="10" />
  • 总最热:<CMS action="LIST" return="List" orderby="Hits_Total" TableID="1" num="10" />

例子 8:最新文章列表调用

调用代码:

<CMS action="LIST" return="List" TableID="1" num="10" Cache="1" />
<!--调用新闻系统模型(TableID=1)最新发布10条记录 -->
<loop name="List" var="var" key="key" >
· [<a href="[$var.NodeURL]" target="_blank" > [$var.NodeName] </a>]
<a href="[$var.URL]" target="_blank" title="[$var.Title]" >[@CsubStr($var.Title,0,16)] </a><span class="process" style="font-size:9px; 
">([@date('m-d H:i', $var.PublishDate)])</span>
<br>
</loop>

例子 9:最热评论列表调用

调用代码:

<CMS action="LIST" return="List" orderby="CommentNum" TableID="1" num="15" Cache="1" />
<!--调用新闻系统模型(TableID=1)最热评论文章前10 条记录-->
<loop name="List" var="var" key="key" >
· <a href="[$PUBLISH_URL]comment.php?o=display&Id=[$var.IndexID]">[$var.Title]</a><span class="process">([$var.CommentNum])</span>
<br>
<!--[$PUBLISH_URL]为思维(CMSware)2.0新引入的模版变量,用于定义动态应用所在目录的URL-->
</loop>

例子 10:结点唯一标识符调用

调用代码:

<CMS action="LIST" return="List" NodeGUID="com.cmsware.news.global" Num="20" />
<ul>
<loop name="List" var="var" key="key">
<li>[$var.ContentID] <a href="[$var.URL]">[$var.Title]</a>
</loop>
</ul>

例子11:使调用和结点无关,即同一模版不作修改可以适用于不同结点

调用代码:

<CMS action="LIST" return="List" NodeID="{$NodeInfo.NodeID}" Num="page-10" />
<!--这里,我们用{$NodeInfo.NodeID}自动取得的结点ID值取代1,2,3....这样的具体的结点ID数字,这样,不管我们将它用于结点ID 为1还是ID为99的模版都不必修改
这里的值。如果写成NodeID="all-{$NodeInfo.NodeID}"则为当前结点,并且包含其子结点的通用调用。在结点的首页、最新内容、热点内容调用等处使用这样的调用可
以大大增强模版的通用型-->
<LOOP name="List" var="var" key="key">
- [<a href="[$var.NodeURL]" target="_blank" > [$var.NodeName] </a>]
<a href="[$var.URL]" target="_blank" title="[$var.Title]" >[@CsubStr($var.Title,0,16)] </a>
<!--显示文章链接,自动截取标题长度16-->
<br>
</LOOP>

例子 12: 直接调用自定义字段里的选项内容

效果图:

Cmsware146.gif

(图一)

Cmsware147.gif

(图二)

Cmsware148.gif

(图三)

也就是我们可以直接调用 图1 里的不同类别的内容

调用代码:

<cms action="LIST" return="List" NodeID="self" where="c.sort='宾馆酒店'" />
<loop name="List" var="var" key="key" >
<a href="[$var.URL]" title="[$var.title]" >[$var.title]</a><br>
</loop>

例子13:模版中调用某个字段的具体值

比如,现在建了5个结点做下载频道(手机游戏、手机图铃、手机软件、PC端软件等等),栏目也是按照这个调用。

在内容模型里有一个“运行环境”字段叫“Environment ”,一个选择列(供选择的值是“SymbianS60;NGAGE;Symbian UIQ;SmartPhone;PocktPC;Palm;Linux;其他”等)。现在想调取比如“手机软件这个结点里所有运行环境是 SmartPhone的内容”或者“TableID=2的所有平台是SmartPhone的内容”

一个字段只有一个值时的调用代码:

<cms action="LIST" return="List" NodeID="2" where="Environment='SmartPhone'" />

例子14:只调用标题多于或等于20字的内容

可以通过在where参数里用mysql的字符串函数来给出取Title字段长度大于20的。比如

... where="CHAR_LENGTH(Title)>=20"

调用代码:

<CMS action="LIST" return="List" NodeID="{$NodeInfo.NodeID}" where="co.TableID=1 and CHAR_LENGTH(Title)>=20" num="10" Cache="1" />
<!--调用新闻系统模型(TableID=1)最新发布 10条记录-->
<LOOP name="List" var="var" key="key">
<ul>[*]
[@CsubStr($var.Title, 0, 21)] [/list]</LOOP>

例子15:既按门派又按经验高低排列人物名称

输出:

令狐冲:华山派:12000
岳不群:华山派:-38
灭绝师太:峨嵋派:500
小尼姑:峨嵋派:300

如果是先按门派再按经验高低排列人物名称这样子写OrderBy参数:

<cms action="LIST" return="List" NodeID="self" OrderBy="c.mengpai,c.jingyan" />
<loop name="List" var="var" key="key">
[$var.renming] : [$var.mengpai] : [$var.jingyan]
</loop>

例子16:软件站常用的一种调用:软件名称以某个英文字母开头

调用字母"c"开头的代码:

<CMS action="LIST" return="List" NodeID="10" Num="10" where="c.SoftName LIKE 'c%' " />
<ul>
<LOOP name="List" var="var" key="key">
<li>[$var.SoftName]</li>
</LOOP>
</ul>

例子17:忽略特定的内容的调用

示例说明:调用结点ID为1的栏目下的内容,先取出一篇有新闻图片的作为焦点新闻使用,然后列出不包含这篇焦点新闻的图文列表

调用代码:

<table>
<tr>
<td>
<!--重要消息图文调用-->
<CMS action="LIST" return="List" NodeID="1" Num="0,1" where="c.Photo != ''" />
<LOOP name="List" var="var" key="key">
<A href="[$var.URL]" title="[$var.Title]" target="_blank">
<img src="[@AutoMini($var.Photo,'200*160',$var)]" vspace="2" >
</a>
<table width="100%" border="0" cellpadding="0" cellspacing="2">
<tr>
<td>
<A href="[$var.URL]" target="_blank" title="[$var.Title]">
[@CsubStr($var.Title, 0, 16)]
</A>
</td>
</tr>
</table>
</loop>
<op exp="$IgnoreIndexID = $var.IndexID" />
<!--获取这条图片新闻的IndexID,下面的文章列表不再重复显示此图文-->
</td>
<td valign="top">
<!--重要消息文章列表调用-->
<CMS action="LIST" return="List" NodeID="1" Num="10" where="c.Photo=''" />
<LOOP name="List" var="var" key="key">
<ul>
<li>
<if test="$var.Photo != ''" >[图]
</if>
<if test="$var.TitleColor != ''" >
<A title="[$var.Title]" href="[$var.URL]" target="_blank">
<font color="[$var.TitleColor]">
[@CsubStr($var.Title, 0, 25)]
</font>
</A>
<else>
<A title="[$var.Title]" href="[$var.URL]" target="_blank">
[@CsubStr($var.Title, 0, 19)]
</A>
</if>
</li>
</ul>
</LOOP>
</td>
</tr>
</table>

例子18:内容页中根据发布时间来自动生成“上一篇”“下一篇”内容

示例说明:早于当前发布时间则显示为下一篇,晚于则显示为上一篇

Cmsware149.jpg

调用代码:

<CMS action="LIST" return="List" NodeID="{$NodeID}" Num="1" where="i.PublishDate < {$PublishDate}" />
<LOOP name="List" var="var" key="key">
<li>
下一篇:<a href=[$var.URL]>[$var.Title]</a>  [[@date('Y-m-d H:m:s', $var.PublishDate)]] <br>
</li>
</LOOP>

<CMS action="LIST" return="List" NodeID="{$NodeID}" Num="1" where="i.PublishDate > {$PublishDate}" orderby="i.PublishDate ASC"/>
<LOOP name="List" var="var" key="key">
<li>
上一篇:<a href=[$var.URL]>[$var.Title]</a>  [[@date('Y-m-d H:m:s', $var.PublishDate)]] <br>
</li>
</LOOP>

分页文章列表

例子1 :分页文章列表调用

效果图:

Cmsware150.gif

调用代码:

<CMS action="LIST" return="List" NodeID="6" Num="page-10" />
<table cellspacing="0" cellpadding="0" width="550" border="0">
<tbody>
<tr>
<td>
<ul>
<LOOP name="List" var="var" key="key">
<li><a href="[$var.URL]" title="[$var.Title]" target="_blank"> [$var.Title] </a>
<font color="#999999">[[@date('Y-m-d H:i:s', $var.PublishDate)]]</font><br></li>
</LOOP>
</ul>

<table cellspacing="3" cellpadding="3" width="95%" align="center">
<tbody>
<tr>
<td align="right">
页次:<font color=red><B> [$PageInfo.CurrentPage] </font>/<B> [$PageInfo.TotalPage] </B>   每页<B> [$PageInfo.PageNum] </B>   共
<B> [$PageInfo.TotalNum] </B>  
分页:
<!--使用list_page显示分页导航,用户可以定义自己的分页函数来实现不同形式的导航,$PageInfo里面包含着你的分页函数需要的参数-->
[@list_page($PageInfo.TotalPage,$PageInfo.CurrentPage,$PageInfo.URL)]
</td>
</tr>
</tbody>
</table>
<br>

</td>
</tr>
</tbody>
</table>

自定义文章列表分页导航样式

思维(CMSware)默认生成的列表分页样式是可以修改的。分页调用返回的“$PageInfo”数组结构如下:

属性 描述

$PageInfo

$PageInfo.TotalNum 总记录数
$PageInfo.TotalPage 总页数
$PageInfo.CurrentPage 当前页次
$PageInfo.PageNum 每页记录数
$PageInfo.URL 当前页URL
$PageInfo.PageList 默认分页导航

例子2:默认样式

效果图:

Cmsware151.gif

调用代码:

<CMS action="LIST" return="List" NodeID="self" Num="page-30" OrderBy="PublishDate DESC" />
<table cellspacing="0" cellpadding="0" width=550 border="0">
<tbody>
<tr>
<td class=c>
<ul>
<loop name="List" var="var" key="key" >
<li>
<a title="[$var.Title]" href="[$var.URL]" target="_blank">
[$var.Title]
</a>
<font color="#999999">
[[@date('Y-m-d H:i:s', $var.PublishDate)]]
</font>
<br>
</loop>
</li>
</ul>
<table cellspacing="3" cellpadding="3" width="95%" align="center">
<tbody>
<tr>
<td align="right">页次:
<font color=red><B>[$PageInfo.CurrentPage]</font>/<B>[$PageInfo.TotalPage]</B>
每页<B>30</B>共<B>[$PageInfo.TotalNum]</B>
分页:[@list_page( $PageInfo.TotalPage, $PageInfo.CurrentPage, $PageInfo.URL)]
<!--注意:动态发布的模版中这部分分页代码为 [@IndexPage($PageInfo.TotalPage, $PageInfo.CurrentPage, $PageInfo.URL)]-->
</td>
</tr>
</tbody>
</table>
<br>
</td>
</tr>
</tbody>
</table>

例子3:自定义样式

效果图:

Cmsware152.gif

调用代码:

<CMS action="LIST" return="List" NodeID="self" Num="Page-3" OrderBy="PublishDate DESC" />
<table cellspacing="0" cellpadding="0" width=550 border="0">
<tbody>
<tr>
<td class=c>
<ul>
<loop name="List" var="var" key="key" >
<li>
<a title="[$var.Title]" href="[$var.URL]"
target="_blank">[$var.Title]</a> <font
color="#999999">[[@date('Y-m-d H:i:s', $var.PublishDate)]]</font><br>
</loop>
</li></ul>

<table cellspacing="3" cellpadding="3" width="95%"
align="center">
<tbody>
<tr>
<td align="right">页次:<font
color=red><B>[$PageInfo.CurrentPage]</font>/<B>[$PageInfo.TotalPage]</B> 每页<B>30</B> 共<B>[$PageInfo.TotalNum]</B>
分页:[@wap_Page($PageInfo.TotalPage, $PageInfo.CurrentPage, $PageInfo.URL)]
</td></tr></tbody></table>
<br></td></tr></tbody>

</table> 

这里我们通过一个函数来自定义列表样式,这里我们使用wap_page()函数(定义在setting/cms.ini.php里)来实现.

function wap_page($PageNum,$CurrentPage,$sendVar) {
$PageNum --;
$CurrentPage--;
if($PageNum == '' || $PageNum == -1)
return false;

if($CurrentPage > 0) {
if(($CurrentPage-1) == 0)
$link1 = $sendVar;
else
$link1= str_replace(".","_".($CurrentPage-1).".",$sendVar);
$Page= "<a href='".$link1."' >上一页</a><br/>".$Page;
}

if ($CurrentPage < $PageNum) {
$link1= str_replace(".","_".($CurrentPage+1).".",$sendVar);
$Page= $Page."<a href='".$link1."' >下一页</a><br/>";
}

return $Page;

}

图文混排

例子 1:图文混排调用

效果图:

Cmsware153.gif

调用代码:

<CMS action="LIST" return="List" NodeID="6" Num="3" where="c.Photo != ''" />
<!--调用结点ID为6的前3条记录,附加where条件,判断 Photo字段不为空,用于实现下面的图文调用-->
<table border="0" cellspacing="2" cellpadding="2" >
<LOOP name="List" var="var" key="key" >
<!--开始循环取值-->
<tr>
<td width="120" style="padding-left: 8px;padding-RIGHT: 8px;">
<img src="[@AutoMini($var.Photo,'120*100',$var)]" border="0" width="120" height="100">
<!--通过使用AutoMini函数自动生成尺寸为120*100的缩略图-->
</td>
<td valign="top" align="left" width="150">
<a href="[$var.URL]" target="_blank" title="[$var.Title]">[@CsubStr($var.Title,0,10)]</a>
<!--显示文章链接,自动截取标题长度-->
<br/>
[@CsubStr($var.Intro,0,50)]
[<a href="[$var.URL]" target="_blank" title="[$var.Title]">查看</a>]
[<a href="[$PUBLISH_URL]comment.php?o=display&Id= [$var.IndexID] " target="_blank" >评论</a>]
<!--显示文章简介,自动截取简介长度-->
</td>
</tr>
</LOOP>
<!--结束循环-->
</table>

例子 2:图文列表调用

效果图:

Cmsware154.gif

调用代码:

<CMS action="LIST" return="List" NodeID="6" Num="3" where="c.Photo != ''" />
<loop name="List" var="var" key="key" >
<td align="center" height="90">
<a href="[$var.URL]" target="_blank" title=" [$var.Title] ">
<img src="[@AutoMini($var.Photo, '120*100', $var)]" border="0" >
</a>
<br>
<a href="[$var.URL]" target="_blank" title="[$var.Title]">[@CsubStr($var.Title,0,10)]</a>
</td>
</loop>

例子 3:图文组合调用

效果图:

Cmsware155.gif

调用代码:

<table cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td style="padding-left: 8px" width="100">
<CMS action="LIST" return="List" NodeID="6" Num="1" where="c.Photo != ''" />
<loop name="List" var="var" key="key" >
<a href="[$var.URL]" target="_blank" title="[$var.Title]">
<img src="[@AutoMini($var.Photo, '100*75', $var)]" border="0" >
</a>
</loop>
</td>
<td style="padding-top: 1px" valign="top" >
<CMS action="LIST" return="List" NodeID="7" Num="5" />
<loop name="List" var="var" key="key" >
·<a href="[$var.URL]" target="_blank" title="[$var.Title]">
[@CsubStr($var.Title,0,10)]
</a>
<br/>
</loop>
</td></tr>
<tr>
<td valign="top" colspan="2" height="47">
<CMS action="LIST" return="List" NodeID="52,51,50" Num="5"/>
<loop name="List" var="var" key="key" >
[<a href="[$var.NodeURL]" target="_blank"> [$var.NodeName] </a>]
<a href="[$var.URL]" target="_blank" title="[$var.Title]">
[@CsubStr( $var.Title,0,20)]
</a>
<br/>
</loop>
</td>
</tr>
</tbody>
</table>

例子 4:一行多图组合调用

效果图:

Cmsware156.jpg

调用代码:

<table width="100%" border="0" cellspacing="0" cellpadding="10">
<CMS action="LIST" return="List" NodeID="all-{$NodeInfo.NodeID}" Num="8" />
<tr>
<--!例子中是一行两列,因而我们要从列数"td"开始做循环 -->
<loop name="List" var="var" key="key" start="1">
<--!start="1"设置循环的起始点,避免有时候版面混乱--& gt;
<td width="50%" align="center">
<a href="[$var.URL]" target="_blank">
<img src="[$var.Photo]" alt="企业标志图片" width="91" height="75" border=0 />
<br />
[@CsubStr($var.Title,0,16)]
</a>
</td>
<if test="$key % 2 ==0">
</tr>
<--!循环至列数为2的整数倍时停止这一行的循环,开始下一行 -->
<tr>
<--!下一行即下一个循环开始-->
</if>
</loop>
<--!循环结束-->
</tr>
</table>




参考来源

留言