本帖最后由 科长 于 2011-6-19 22:59 编辑
前面我们讲了“DeDeCMS教程进阶二、dedecms模板调用标签的语法解释”,从这一节课开始我们逐一讲解dedecms各个标签的详细使用方法和实例介绍
本届课程讲解arclist标签的应用和实例分析。
标签名称:arclist
标记简介:织梦常用标记,也称为自由列表标记,其中imglist、imginfolist、specart、coolart、autolist都是由该标记所定义的不同属性延伸出来的别名标记。
功能说明:获取指定文档列表
适用范围:全局使用
基本语法:
{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:arclist}
参数说明:
col='' 分多少列显示(默认为单列),5.3版中本属性可以通过多种方式进行多行显示
如果col='1'要多列显示的可用div+css实现
以下为通过div+css实现多列的示例:
<style type=text/css>
div{width:400px;float:left;}
</style>
{dede:arclist row='10' titlelen='24' orderby='pubdate' idlist='' col='2'}
•[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])<br/>
{/dede:arclist}
当col>1将使用原来的table多列方式显示
row='10' 返回文档列表总数
typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用","分开表示多个栏目;
getall='1' 在没有指定这属性的情况下,在栏目页、文章页模板,不会获取以","分开的多个栏目的下级子类
titlelen = '30' 标题长度等同于titlelength
infolen='160' 表示内容简介长度等同于infolength
imgwidth='120' 缩略图宽度
imgheight='90' 缩略图高度
listtype='all' 栏目类型image含有缩略图commend推荐
orderby='sortrank' 文档排序方式
§ orderby='hot' 或orderby='click' 表示按点击数排列
§ orderby='sortrank' 或orderby='pubdate' 按出版时间排列
§ orderby='near'
§ orderby=='lastpost' 按最后评论时间
§ orderby=='scores' 按得分排序
§ orderby='id' 按文章ID排序
§ orderby='rand' 随机获得指定条件的文档列表
keyword='' 含有指定关键字的文档列表,多个关键字用","分
innertext = '' 单条记录样式
aid='' 指定文档ID
idlist ='' 提取特定文档(文档ID)
channelid 频道ID
limit='起始ID,记录数' (起始ID从0开始)表示限定的记录范围(如:limit='1,2' 表示从ID为1的记录开始,取2条记录)
flag = 'h' 自定义属性值:头条[h]推荐[c]图片[p]幻灯[f]滚动跳转[j]图文[a]加粗
noflag = '' 同flag,但这里是表示不包含这些属性
orderway='desc' 值为desc 或asc ,指定排序方式是降序还是顺向排序,默认为降序
subday='天数' 表示在多少天以内的文档
实例解析:
效果图:
标签调用:
{dede:arclist orderby=pubdate titlelen='26' row='10'}
<ul>
<li><a href="[field:arcurl/]">[field:title/]</a></li>
</ul>
{/dede:arclist}
标签解释:
row='10':表示调用10条文章标题。
titlelen='26':表示每条标题字数控制在26个字符,2个字符为一个汉字。
orderby=pubdate:表示文档排序方式为按最新发布时间排序。
排序方式还可以选择:
orderby='sortrank' 文档排序方式
§ orderby='hot' 或orderby='click' 表示按点击数排列
§ orderby='sortrank' 或orderby='pubdate' 按出版时间排列
§ orderby='near'
§ orderby=='lastpost' 按最后评论时间
§ orderby=='scores' 按得分排序
§ orderby='id' 按文章ID排序
§ orderby='rand' 随机获得指定条件的文档列表
效果图:
标签调用:
{dede:arclist orderby=pubdate titlelen='26' row='10'}
<ul>
<li><a href="[field:arcurl/]">[field:title/]</a></li>
<p><font color="#FF0000">文章摘要:</font>[field:description/]..</p>
</ul>
{/dede:arclist}
标签解释:
这段代码和基本应用部分对比,多出了[field:description/]标签部分,此标签表示调用的是文章摘要部分
[field:description/]控制字数写法[field:description function='cn_substr(@me,80)'/]其中标签内的80即代表每次调用摘要所需字符数
效果图:
标签调用:
{dede:arclist orderby=pubdate titlelen='26' row='10' type='image.' imgwidth='94' imgheight='84'}
<ul>
<li><a href="[field:arcurl/]">[field:title/]</a></li>
<p><span>[field:imglink /]</span><font color="#FF0000">文章摘要:</font>[field:description/]..</p>
</ul>
{/dede:arclist}
标签解释:
在上述例子的基本上添加了type='image.' imgwidth='94' imgheight='84'和[field:imglink /]这两个标签。
其中type='image.' imgwidth='94' imgheight='84'表示调用必须是带有缩略图的文章,并缩略图大小控制在宽94px,高84px。
[field:imglink /]标签为带链接的图片标签。
图片标签其它写法:
[field:imglink /]与<a href='[field:arcurl /]'>[field:image/]</a> 是完全等价的,只不过后者更灵活一点,可以在<a>中添加title=""
即<a href='[field:arcurl /]' title="[field:title function='htmlspecialchars(@me)'/] ">[field:image/]</a>
<a href='[field:arcurl /]'><img src='[field:litpic/]' border='0' width='' height=''></a>
则更为灵活,不仅可以添加title="",还可以添加alt="",但是虽然灵活了,缺少了图片的宽度和高度的控制,所以要在CSS中控制图片的大小,适合对CSS有一点了解的人。
效果图:
标签调用:
{dede:arclist orderby=pubdate titlelen='26' row='10' type='image.' imgwidth='94' imgheight='84'}
<ul>
<li><a href="[field:arcurl/]">[field:title/]</a><span style="color:#990000">[field:pubdate function="MyDate('m-d',@me)"/]</span></li>
<p><span>[field:imglink /]</span><font color="#FF0000">文章摘要:</font>[field:description/]..</p>
</ul>
{/dede:arclist}
标签解释:
在第三个列子的基础上添加了时间标签[field:pubdate function="MyDate('m-d',@me)"/]
其它时间标签:
[field:pubdate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/] | 2008-11-01 11:11:52 | [field:pubdate function='strftime("%y-%m-%d %H:%M:%S",@me)'/] | 08-11-01 11:11:52 | [field:pubdate function='strftime("%m-%d %H:%M:%S",@me)'/] | 11-01 11:14:20 | [field:pubdate function='strftime("%m-%d %H:%M",@me)'/] | 11-01 11:14 | [field:pubdate function='strftime("%y-%m-%d",@me)'/] | 08-11-01 | [field:pubdate function='strftime("%y年%m月%d日",@me)'/] | 08年11月01日 | [field:pubdate function='strftime("%Y年%m月%d日 %H点%M分%S秒",@me)'/] | 2008年11月01日 11点17分36秒 | [field:pubdate function='strftime("%b %d, %Y",@me)'/] | Nov 01, 2008 | [field:pubdate function='strftime("%A on %b %d, %Y, %X : %Z",@me)'/]
|
通过上述4个例子,相信大家对arclist标签的应用已经有一定的认识了,其实各种效果的实现都是在第一个例子的基本上加入其它各种不同的标签来控制实现的。
当然这些都需要css或table来控制具体效果。只要大家多多动手操作,就可以很好的掌握arclist标签的应用。
|