YulinCMS ContList标签调用示例

来自站长百科
跳转至: 导航、​ 搜索

导航: 上一页

ContList是最常用的模板标签,主要用于获取数据库中的文档(内容),并且以列表方式呈现。

下面给出的例子一步一步、由简到繁。

ContList 模板标签书写格式为如下:

{Yu:ContList 属性1="属性值1" 属性2="属性值2"}
{NormalTemplate}  普通项模板+底层变量.......{/NormalTemplate}
{AlterTemplate}  交替项模板+底层变量........{/AlterTemplate}
SeparTemplate}  分隔符模板.................{/SeparTemplate}
{ConditionTemplate}  条件输出模板...........{/ConditionTemplate}
{/Yu:ContList}

简单的文档列表[ ]

{Yu:ContList Count="10" Sort="AddTime" Order="DESC"}
<a href="{@ContPath/}" target="_blank">{@Title/}</a><br/>
{/Yu:ContList}
YulinCMS ContListTags1.gif
  • 标签解释

获取最新的10篇文档,显示带超链接的标题

  • 其它说明

标签属性 Count="10" 表示取10篇文档。 Sort="AddTime" Order="DESC" 这个两个属性一起表示按时间降序排序。

变量 {@ContPath/} 表示文档路径,{@Title/} 是文档标题。

因为系统默认该标签属性 Count="10" Sort="AddTime" Order="DESC" 所以上面标签也可以简写成:

{Yu:ContList}<a href="{@ContPath/}">{@Title/}</a>
{/Yu:ContList}

带栏目标题文档列表[ ]

<table width="360" cellpadding="0" cellspacing="0">
{Yu:ContList Count="10" TitleLen="30" TitleAddStr="..."}
<tr>
<td>
<span style="color:#999">[{@CateTitle/}]</span>
<a href="{@ContPath/}" title="{@FullTitle/}" target="_blank">{@Title/}</a>
</td>
<td width="80" >
<span style="color:#999">{@AddTime F="FormatTime(yyyy-MM-dd)"/}</span>
</td>
</tr>
{/Yu:ContList}
</table>
YulinCMS ContListTags2.gif
  • 标签解释

获取最新10篇文档,显示带超链接的标题、所属栏目的标题、文档发布时间。如果标题长度超过30个字符宽,后面的部分将被截去用...替换。

  • 其它说明

{@AddTime/} 是文档发布时间,默认情况下会以yyyy-MM-dd HH:mm:ss 形式显示。例如:2009-3-10 10:27:58 。

为了只显示日期部分,可以用时间格式化函数来处理,例如上面示例中的 {@AddTime F="FormatTime(yyyy-MM-dd)"/} 。

{@Title/} 和 {@FullTitle/} 都指的是文档标题。但是{@FullTitle/}不会被截去字符,显示的是完整的标题,通常用作鼠标提示完整标题。

按阅读排序的文档列表[ ]

<table width="350" cellpadding="0" cellspacing="0">
{Yu:ContList Cate="46" Count="10" Sort="ClickTotal" Order="DESC" LastDay="60" TitleLen="30" TitleAddStr="..."}
<tr>
<td>
<img src="{$$SkinPath}/Images/dot.gif" border="0" align="absmiddle"/> <a href="{@ContPath/}" title="{@FullTitle/}" target="_blank">
{@Title/}</a>
</td>
<td width="80" >
<span style="color:#999">阅读:{@ClickTotal/}</span>
</td>
</tr>
{/Yu:ContList}
</table>
YulinCMS ContListTags3.gif
  • 标签解释

获取编号为46的栏目下、最近60天以来浏览最多的10篇文档,显示标题、文档阅读次数。如果标题长度超过30个字符宽,后面的部分将被截去用...替换。

  • 其它说明

标签属性 Sort="ClickTotal" Order="DESC" 一起表示阅读次数降序排序。

同理也可以将标签属性Sort改为 Sort="CommTotal" 则可以按评论数降序排序。

标签属性TitleLen 指定标题显示长度,超过则截去,并且用TitleAddStr的值来替代。 不指定该属性 则显示完整标题。

在底层模板中也可以使用公共变量 ,例如上面例子中 {$$SkinPath/} 用来获取当前模版风格的皮肤存放路径。

多列显示文档列表[ ]

{Yu:ContList Cate="46" Count="10" Cols="2" TableStyle="cellpadding=\"0\" cellspacing=\"0\" width=\"600\" " tdStyle=" align=\"center\" "}
<a href="{@ContPath/}">{@Title/}</a>
{/Yu:ContList}
YulinCMS ContListTags4.gif
  • 标签解释

获取编号为46的栏目下最近的10篇文档,按照2列显示带超链接的标题

  • 其它说明

该标签属性Cols 是关键,指定多少就按多少列显示内容。系统是用HTML

元素来呈现的多列效果的。

tableStyle、trStyle、tdStyle 这三个标签属性都是配合Cols显示的。

tableStyle可用来指定HTML元素的样式,trStyle用来指定HTML元素的样式,tdStyle用来指定HTML元素
的样式。也可以不使用它们。

这里说明一点,标签属性值如果包含引号 " ' 则必须在前面加上斜杠。如 \" \'

交替显示文档列表[ ]

<table width="350" border="0" cellspacing="1" cellpadding="2" bgcolor="#e0e0e0" >
{Yu:ContList Count="10" Cate="46" Sort="AddTime" Order="DESC"}
{NormalTemplate}
<tr bgcolor="#F9F9F9">
<td><a href="{@ContPath/}">{@Title/}</a></td>
</tr>
{/NormalTemplate}
{AlterTemplate}
<tr bgcolor="#D9D9FF">
<td><a href="{@ContPath/}">{@Title/}</a></td>
</tr>
{/AlterTemplate}
{/Yu:ContList}
</table>
YulinCMS ContListTags5.gif
  • 标签解释

获取编号为46的栏目下最近的10篇文档,显示其标题,并且标题背景颜色交替变换。

  • 其它说明

{NormalTemplate}...{/NormalTemplate}之间是普通项模板元素的内容,{AlterTemplate}...{/AlterTemplate} 之间是交替项模板元素的内容

带分割线的文档列表[ ]

{Yu:ContList Cate="46" Count="15" Sort="AddTime" Order="DESC" Condition="5"}
{NormalTemplate}
<a href="{@ContPath/}" target="_blank">{@Title/}</a> <span style="color:#999">{@AddTime F="FormatTime(yyyy-MM-dd)"/}<br/>
{/NormalTemplate}
{ConditionTemplate}
<hr style="border:1px #ccc solid"/>
{/ConditionTemplate}
{/Yu:ContList}
YulinCMS ContListTags6.gif
  • 标签解释

获取编号为46的栏目下最近的15篇文档,每显示5篇加一条分割线。

  • 其它说明

{ConditionTemplate}...{/ConsitionTemplate} 之间是条件输出模板元素的内容,与属性 Condition 配合使用。

例如:上面例子中属性 Condition="5" 表示当文档数量达到 5 的倍数时,就输出模板元素 ConditionTemplate 中的内容。

带缩略图的文档列表[ ]

<table width="300" border="0" cellspacing="0" cellpadding="0" >
{Yu:ContList Count="3" Where="TitlePicture" TitleLen="30" TitleAddStr="..."}
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td align="center"><a href="{@ContPath/}" target="_blank"><img src="{@SPicPath_2/}" border="0" alt="{@FullTitle/}"/></a></td>
</tr>
<tr>
<td align="center"><a href="{@ContPath/}" target="blank" title="{@FullTitle/}"/>{@Title/}</a></td>
</tr>
</table>
</td>
</tr>
{/Yu:ContList}
</table>
YulinCMS ContListTags7.gif
  • 标签解释

获取最近的3篇 带标题图片的文档,显示其标题缩略图、标题文字。

  • 其它说明

{@PicPath/} 是文档的 原始标题图片。

系统根据 原始标题图片 自动生成了三种规格的缩略图,分别为 {@SPicPath_1/}(尺寸 300*200) {@SPicPath_2/}(尺寸 150*100) {@SPicPath_3/}(尺寸 90 * 60) 。

在这个例子中使用了{@SPicPath_2/}

多列显示带缩略图的文档列表[ ]

{Yu:ContList Count="9" Cols="3" Where="TitlePicture" TitleLen="30" TitleAddStr="..."}
<table width="100%" border="0" cellspacing="1" cellpadding="2" >
<tr><td align="center"><a href="{@ContPath/}" target="_blank"><img src="{@SPicPath_2/}" border="0" alt="{@FullTitle/}"/></a></td></tr>
<tr><td align="center"><a href="{@ContPath/}" target="_blank" title="{@FullTitle/}"/>{@Title/}</a></td></tr>
</table>
{/Yu:ContList}
YulinCMS ContListTags8.gif
  • 标签解释

获取最近的 9 篇带标题图片的文档,按 3 列显示其标题缩略图、标题文字。

带缩略图和摘要的文档列表[ ]

<table border="0" cellspacing="0" cellpadding="0" >
{Yu:ContList Count="4" Where="TitlePicture&Depict" DepictLen="110" DepictAddStr="..."}
<tr><td>
<table width="400" border="0" cellspacing="0" cellpadding="2">
<tr><td><a href="{@ContPath/}" target="_blank"><img src="{@SPicPath_2/}" border="0" alt="{@FullTitle/}"/></a></td>
<td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td>
<a href="{@ContPath/}" target="_blank" title="{@FullTitle/}"/><span style="text-decoration:underline;font-weight:bold">{@Title/}
</span></a></td></tr> <tr><td>{@Depict/}<a href="{@ContPath/}" target="_blank"><span style="text-decoration:underline">全文>>
</span></a> </td></tr></table></td></tr></table>
</td></tr>
{/Yu:ContList}
</table> 
YulinCMS ContListTags9.gif
  • 标签解释

获取最近的 4篇同时带标题图片和摘要的文档,显示其标题缩略图、摘要、标题文字。

  • 其它说明

标签属性 Where="TitlePicture&Depict" 意思是获取 同时带标题缩略图和摘要的文档。

DepictLen 属性指定标题显示长度,超过则截去,并且用DepictAddStr的值来替代。 不指定该属性 则显示完整摘要。 这和属性 TitleLen、 TitleAddStr 类似。

嵌套调用文档列表[ ]

{Yu:CateList CateGroup="1" cols="2" tableStyle=" width=\"660\" "}
<table width="100%" cellpadding="0" cellspacing="0">
<tr><td>
<table width="100%" cellpadding="3" cellspacing="0" style="background-color:#6386C6;color:#fff;font-weight:bold;">
<tr><td>{@Title/}</td><td align="right"><a href="{@CatePath/}" target="_blank">
<span style="text-decoration:none; color:#fff;">更多 >></a></span></td></tr></table>
</td></tr>
<tr><td>
<table width="100%" cellpadding="1" cellspacing="0">
{Yu:ContList Count="6" Cate="Id" TitleLen="32" TitleAddStr="..."}<tr>
<td width="10"> · </td><td><a href="{@ContPath/}" title="{@FullTitle/}" target="_blank">
{@Title/}</a></td><td width="80" align="right">
<font color="#999999">{@AddTime F="FormatTime(yyyy-MM-dd)"/}</font></td></tr>
{/Yu:ContList}</table>
</td></tr>
</table>
{/Yu:CateList}
YulinCMS ContListTags10.gif
  • 标签解释

获取了四个栏目,并且列出每个栏目的最新6篇文档,以2列显示

这个例子运用了 标签嵌套方式 实现循环显示每个栏目下的文档列表 。可以看到 ContList 标签嵌套在 CateList 标签的里面。

当外层CateList标签循环,ContList的内容也会改变。 注意:内层 ContList 标签的属性Cate设置为 Cate="Id" 用来接收外层栏目列表的编号。

例子中的CateList标签的 CateGroup 属性指的是栏目组,我们在后台已经把将要展示的四个栏目放到了一个组里,只要指定属性 CateGroup="组编号" 就调用了相应栏目。

首页排版栏目块时,通常要显示每个栏目下的最新文档列表,按照通常的做法有多少个栏目就得调用多少个ContList标签,现在用标签嵌套的方式,用一个标签就可以实现了。

带附件下载的文档列表[ ]

<table width="270" cellpadding="1" cellspacing="0">
{Yu:ContList Count="10" Cate="61" Where="TitleFile" Sort="FileDownTotal" Order="DESC"}
<tr>
<td width="20">
<a href="{@FilePath/}"><img src="{$$SkinPath/}/Images/down.gif" border="0"/></a>
</td>
<td>
<a href="{@FilePath/}" target="_blank">{@Title/}</a>
</td>
<td width="80">
<font color="#999999">下载次数 {@FileDownTotal/}</font>
</td>
</tr>
{/Yu:ContList}
</table>
YulinCMS ContListTags11.gif
  • 标签解释

获取编号为61的栏目下、带标题附件的、并且标题附件下载次数最多的 10篇文档,显示带下载链接的标题。

  • 其它说明

标签属性 Sort="FileDownTotal" Order="DESC" 一起表示 标题附件 下载次数降序排序

{@FilePath/} 是附件下载地址 。 {@FileDownTotal/} 是附件下载次数

可分页的文档列表[ ]

<ul style="margin:0px;padding:0px;">
{Yu:ContList ListType="Category" Count="15"}
<li><a href="{@ContPath/}" target="_blank">{@Title/}</a> 
<span style="color:#a2a2a2">{@AddTime F="FormatTime(yyyy年MM月dd日 HH:mm)"/}</span></li>
{/Yu:ContList}
</ul>
</div>
<br/><br/>
<div>
{Yu:PageBar}
<div class="pageBar">
<div class="info">
总内容数<span class="count">{@ContCount/}</span>
总页数<span class="count">{@PageCount/}</span>
每页显示<span class="count">{@PageSize/}</span> 条内容
</div>
<div class="plist">
<a href="{@FirstPage/}">首页</a>
<a href="{@PrevPage/}">上一页</a>
{@PageList/}
<a href="{@NextPage/}">下一页</a>
<a href="{@LastPage/}">末页</a>
</div>
{@PageSelect/}
</div>
{/Yu:PageBar}
</div> 	
YulinCMS ContListTags12.gif
  • 标签解释

分页显示当前栏目下的所有文档,每页显示15篇, 带一个翻页条。

  • 其它说明

注意ContList标签的属性 ListType 它用来指定列表类型。

这个例子中的 ListType="Category" 意思是这个内容列表仅用于栏目列表页模板中,可实现分页。可直接使用Count属性来指定分页大小。

实现了分页显示,当然少不了翻页条,PageBar 标签可以完成翻页。

上例中所用的CSS样式如下,放在网页头部。

<style type="text/css">
/* 分页栏样式 */
.pageBar {overflow:auto;}
.pageBar .info {margin-bottom:10px;}
.pageBar .info span.count {font-weight:bold; color:#F60; font-size:12px;padding:5px;}
.pageBar .plist strong { display:block; float:left; color:#FFF; background:#F60; 
    border:1px solid #C33; padding-left:8px; padding-right:8px; margin-right:3px;}
.pageBar .plist a{ display:block; float:left; color:#000; background:#FFF; 
   border:1px solid #DDD; padding-left:8px; padding-right:8px; text-decoration:none; margin-right:3px; }
.pageBar .plist a:hover{ color:#F60;background:#EEE}
</style>

内容页相关文档列表[ ]

<table width="98%" cellpadding="1" cellspacing="0">
{Yu:ContList ListType="Relation" Count="10" Sort="AddTime" Order="DESC"}
<tr><td width="10"> · </td><td><a href="{@ContPath/}" title="{@FullTitle/}" target="_blank">{@Title/}</a></td>
</tr>
{/Yu:ContList}
</table>
YulinCMS ContListTags13.gif
  • 标签解释

获取当前文档Tag相关的10篇文档,显示其标题。

  • 其它说明

注意ContList标签的属性 ListType 它用来指定列表类型。

这个例子中的 ListType="Relation" 意思是这个内容列表用来获取和当前内容Tag相关的内容 仅用于内容页模板中。

例如:当前内容的 Tag 是“google 谷歌 安全”则调用库中所有含有该 Tag 的内容。

如果只想从内容所属的栏目中获取相关内容。可以使用 Cate="Current" 这个属性。

如果只想从内容所属的栏目分类中获取相关内容。可以使用 Class="Current"这个属性。 栏目分类需要事先在后台设置好。

随机文档列表[ ]

{Yu:ContList Count="10" Sort="Rand"}
{@Title/}<br/>
{/Yu:ContList}
YulinCMS ContListTags14.gif
  • 标签解释

随机获取库中的10篇文档

  • 其它说明

这个例子中的 Sort="Rand" 意思是随机排序。

也可以可随机获取指定条件的内容列表。例如: 加上Cate属性 用来获取某个栏目下的随机文档, 加上Where属性 用来获取指定条件的文档。

相关条目[ ]

参考来源[ ]