DEDE标签的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}  

typeid=” 栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用”,”分开表示多个栏目;

orderby=’sortrank’ 文档排序方式

<blockquote>§ orderby=’hot’ 或 orderby=’click’ 表示按点击数排列

§ orderby=’sortrank’ 或 orderby=’pubdate’ 按出版时间排列 

§ orderby=’near’ 

§ orderby==’lastpost’ 按最后评论时间 

§ orderby==’scores’ 按得分排序 

§ orderby=’id’ 按文章ID排序 

§ orderby=’rand’ 随机获得指定条件的文档列表</blockquote>

idlist =” 提取特定文档(文档ID) 调用指定id文档 例子idlist =’4,45,78,237′

limit=’起始ID,记录数’ (起始ID从0开始)表示限定的记录范围(如:limit=’1,2′ 表示从ID为1的记录开始,取2条记录) 

keyword=” 含有指定关键字的文档列表,多个关键字用","分 

orderway=’desc’ 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序

使用实例

{dede:arclist flag="c" channelid='' row='10' titlelen='60' orderby=''}  
<li><a href='[field:arcurl /]' title="[field:fulltitle /]">[field:title /]</a></li>  
{/dede:arclist} 

row=’10′ 调用10条, titlelen=’60′标题长度为30汉字 flag=”c” 推荐文章 orderby=” 默认为按发布时间排序

flag = ‘c’ 自定义属性值:头条[h] 推荐 图片[p] 幻灯[f] 滚动[s] 跳转[j] 图文[a] 加粗

调用最新文章按发布时间排序

{dede:arclist channelid='' row='10' titlelen='60'}  
<li><a href='[field:arcurl /]' title="[field:fulltitle /]">[field:title /]</a></li>  
{/dede:arclist}  

row=’10′ 调用10条, titlelen=’60′标题长度为30汉字

按ID排序降序排列,从大到小

{dede:arclist channelid='' row='10' titlelen='60' orderby='id' }  
<li><a href='[field:arcurl /]' title="[field:fulltitle /]">[field:title /]</a></li>  
{/dede:arclist}   

row=’10′ 调用10条, titlelen=’60′标题长度为30汉字 orderby=’id’ 按ID,降序排列按ID排序顺序排列,从小到大

{dede:arclist channelid='' row='10' titlelen='60' orderby='id' orderway='asc' }  
<li><a href='[field:arcurl /]' title="[field:fulltitle /]">[field:title /]</a></li>  
{/dede:arclist}  

row=’10′ 调用10条, titlelen=’60′标题长度为30汉字 orderby=’id’ 按ID,orderway=’desc’ 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序

调用含有缩图的文档

{dede:arclist flag="p" row='10' titlelen='60'}  
<li><a href="[field:arcurl /]"><img src="[field:litpic/]" border="0" alt="[field:fulltitle /]"></a>  
<span><a href="[field:arcurl /]" title="[field:fulltitle /]">[field:title /]</a></span>  
</li>  
{/dede:arclist}

flag = ‘p’ 自定义属性值:头条[h] 推荐 图片[p] 幻灯[f] 滚动[s] 跳转[j] 图文[a] 加粗

日期的各种格式

08 [field:pubdate function=strftime('%d',@me)/] 

08 日 [field:pubdate function=strftime('%d日',@me)/] 

06-08 [field:pubdate function=strftime('%m-%d',@me)/] 

06月08日 [field:pubdate function=strftime('%m月%d日',@me)/] 

09-06-08 [field:pubdate function=strftime('%y-%m-%d',@me)/] 

2009-06-08 [field:pubdate function=strftime('%Y-%m-%d',@me)/] 

09年06月08日 [field:pubdate function=strftime('%y年%m月%d日',@me)/] 

2009年06月08日 [field:pubdate function=strftime('%Y年%m月%d日',@me)/] 

2009-06-08 13:28 [field:pubdate function=strftime('%Y-%m-%d %H:%M',@me)/] 

底层字段

[field:id /] 文章的ID,对应dede_archives 的ID字段 

[field:typeid /] 文章所在栏目的ID 

* [field:title/] 文章标题(控制条件包括titlelen=”字节数,后台发布文档时所选的标题颜色,加粗) 

* [field:fulltitle/] 文章标题(标题完整,无样式) 

* [field:click /] 点击数 

[field:shorttitle /] 短标题 

* [field:writer /] 作者 

* [field:source /] 来源 

* [field:litpic /] 缩图地址 与 [field:picname /]相同 

[field:picname /] 缩图地址 与[field:litpic /]相同 

* [field:pubdate /] 发布日期 

08 [field:pubdate function=strftime('%d',@me)/] 

08 日 [field:pubdate function=strftime('%d日',@me)/] 

06-08 [field:pubdate function=strftime('%m-%d',@me)/] 

06月08日 [field:pubdate function=strftime('%m月%d日',@me)/] 

09-06-08 [field:pubdate function=strftime('%y-%m-%d',@me)/] 

2009-06-08 [field:pubdate function=strftime('%Y-%m-%d',@me)/] 

09年06月08日 [field:pubdate function=strftime('%y年%m月%d日',@me)/] 

2009年06月08日 [field:pubdate function=strftime('%Y年%m月%d日',@me)/] 

2009-06-08 13:28[field:pubdate function=strftime('%Y-%m-%d %H:%M',@me)/] 

[field:lastpost /] 最后评论时间 用法同 [field:pubdate /] 

[field:scores /] 评论得分 

[field:goodpost /] 好评 

[field:badpost/] 差评 

* [field:description /] 简介 等同于 [field:info /] ,[field:infos /] 

字数控制 [field:description function="cn_substr(@me,120)"/] 60汉字 

infolen=’160′ 表示内容简介长度 等同于infolength(只控制infos,并不控制description的内容) 

* [field:info /] 简介 等同于 [field:description /] ,[field:infos /] 

字数控制 [field:info function="cn_substr(@me,120)"/] 60汉字 

infolen=’160′ 表示内容简介长度 等同于infolength(只控制infos,并不控制description的内容) 

* [field:infos /] 简介 等同于 [field:info /] ,[field:description /] 

字数控制 [field:infos function="cn_substr(@me,120)"/] 60汉字 

infolen=’160′ 表示内容简介长度 等同于infolength(只控制infos,并不控制description的内容) 

[field:filename /] 文章连接地址 等同于[field:arcurl /] 

* [field:arcurl /] 文章链接地址 等同于[field:filename /] 

* [field:textlink /] 文章标题+地址 等同于<a href=’[field:arcurl /] ‘>[field:title/]</a> 

* [field:litpic /] 缩图 地址 等同于 [field:picname /] 

* [field:picname /] 缩图地址 等同于 [field:litpic /] 

* [field:image /] 等同于 <img src=’[field:litpic /]‘ border=’0′ width=’imgwidth’ height=’imgheight’ alt=’[field:fulltitle /]‘> 

imgwidth=’120′ 缩略图宽度 

imgheight=’90′ 缩略图高度 

* [field:imglink /] 等同于imglink = <a href=’ [field:arcurl /]‘>[field:image /]</a> 

* [field:typename /] 栏目标题 

* [field:typeurl /] 栏目地址 

* [field:typelink /] 等同于 <a href=’[field:typeurl /]‘>[field:typename /]</a> 

[field:plusurl /] pius文件夹地址 等同于 [field:global name=plusurl/] 

[field:memberurl /] 会员文件夹地址 等同于 [field:global name=memberurl/] 

[field:templeturl /] 模板文文件夹地址 等同于 [field:global name=templeturl /] 

* [field:global name=autoindex/] 最常用的底层标签,生成顺序数字1,2,3,4,5,6,7….. 

判断语句,配合 上面的
*[field:global name=autoindex runphp=”yes”](@me==1)? @me=”show”:@me=”dis”;[/field:global]

可CSS控制可做成各种样式效果,比如隔行换色, 列表前加入1-10数字序号,每隔几行换行等等

于PHP搭配,可制作出各种效果,为DEDE最重要代码之一

相关函数:
文件\include\taglib\arclist.lib.php第7行

function lib_arclist(&$ctag,&$refObj)

参数说明:

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(只控制infos,并不控制description的内容) 

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]推荐图片[p]幻灯[f]滚动[s]跳转[j]图文[a]加粗 

noflag = ” 同flag,但这里是表示不包含这些属性 

orderway=’desc’ 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序 

subday=’天数’ 表示在多少天以内的文档 

用arclist调用于附加表字段的方法:

要获取附加表内容,必须符合两个条件

1、指定 channelid 属性

2、指定要获得的字段 addfields=’字段1,字段’
如:

{dede:arclist addfields=’filetype,language,softtype’ row=’8′ channelid=’3′} 
[field:textlink /] – [field:softtype /]<br /> 
{/dede:arclist} 

底层模板字段:
ID(同 id),typeid,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,
source,litpic(同picname),pubdate,senddate,mid, lastpost,scores,goodpost,badpost,notpost,
description(同infos),filename, image, imglink, fulltitle, textlink, typelink,plusurl, memberurl, templeturl,
stime(pubdate 的”0000-00-00″格式)

其中:

textlink = <a href=’arcurl’>title</a> 
typelink = <a href=’typeurl’>typename</a> 
imglink = <a href=’arcurl’><img src=’picname’ border=’0′ width=’imgwidth’ height=’imgheight’></a> 
image = <img src=’picname’ border=’0′ width=’imgwidth’ height=’imgheight’ alt=’titile’> 

字段调用方法:[field:varname/]

如:

{dede:arclist infolen=’100′} 
[field:textlink/] 
<br> 
[field:infos/] 
<br> 
{/dede:arclist} 

注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能。
如: 给当天发布的内容加上 (new) 标志

[field:senddate runphp='yes'] 
$ntime = time(); 
$oneday = 3600 * 24; 
if(($ntime – @me)<$oneday) @me = "<font color=’red’>(new)</font>"; 
else @me = ""; 
[/field:senddate]