虽然dedecms用得少了,可还是会去用到。用dedecms制作网站模板时,用得最多的就是arclist标签,可以说掌握了arclist,是一招鲜吃遍天。以前用百度一搜索arclist,排在第一的是博客园的这篇(https://www.cnblogs.com/Sue_/articles/2482261.html),答案很全,过去一直用它。可是现在搜索这篇arclist标签大全的文章,排名不在前几页了。
排第一的dedecms官方的标签说明比较旧了,也不够全,并不能满足需求。为了备用,不如把dedecms的arclist标签大全,摘录入自己的个人博客中,有需要就拿来自用,无需再苦哈哈地东找西找。
dede标签:arclist标签使用大全
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' 文档排序方式
§ orderby='hot' 或 orderby='click' 表示按点击数排列
§ orderby='sortrank' 或 orderby='pubdate' 按出版时间排列
§ orderby='near'
§ orderby=='lastpost' 按最后评论时间
§ orderby=='scores' 按得分排序
§ orderby='id' 按文章ID排序
§ orderby='rand' 随机获得指定条件的文档列表
idlist ='' 提取特定文档(文档ID) 调用指定id文档 例子idlist ='4,45,78,237'
limit='起始ID,记录数' (起始ID从0开始)表示限定的记录范围(如:limit='1,2' 表示从ID为1的记录开始,取2条记录)
keyword='' 含有指定关键字的文档列表,多个关键字用","分
orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序
arclist标签使用实例
arclist标签调用推荐文章
{dede:arclist flag="c" channelid='' row='10' titlelen='60' orderby=''} <li><a href='[field:arcurl%20/]' title="[field:fulltitle /]">[field:title /]</a></li> {/dede:arclist}
row='10' 调用10条, titlelen='60'标题长度为30汉字 flag="c" 推荐文章 orderby='' 默认为按发布时间排序
flag = 'c' 自定义属性值:头条[h] 推荐[c] 图片[p] 幻灯[f] 滚动[s] 跳转[j] 图文[a] 加粗
arclist标签调用最新文章按发布时间排序
{dede:arclist channelid='' row='10' titlelen='60'} <li><a href='[field:arcurl%20/]' title="[field:fulltitle /]">[field:title /]</a></li> {/dede:arclist}
row='10' 调用10条, titlelen='60'标题长度为30汉字
arclist标签按ID排序降序排列,从大到小
{dede:arclist channelid='' row='10' titlelen='60' orderby='id' } <li><a href='[field:arcurl%20/]' title="[field:fulltitle /]">[field:title /]</a></li> {/dede:arclist}
arclist标签按ID排序顺序排列,从小到大
{dede:arclist channelid='' row='10' titlelen='60' orderby='id' orderway='asc' } <li><a href='[field:arcurl%20/]' title="[field:fulltitle /]">[field:title /]</a></li> {/dede:arclist}
row='10' 调用10条, titlelen='60'标题长度为30汉字 orderby='id' 按ID,orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序
arclist标签调用含有缩图的文档
{dede:arclist flag="p" row='10' titlelen='60'} <li><a href="[field:arcurl%20/]"><img src="[field:litpic/]" border="0" alt="[field:fulltitle /]"></a> <span><a href="[field:arcurl%20/]" title="[field:fulltitle /]">[field:title /]</a></span> </li> {/dede:arclist}
flag = 'p' 自定义属性值:头条[h] 推荐[c] 图片[p] 幻灯[f] 滚动[s] 跳转[j] 图文[a] 加粗
arclist标签日期的各种格式
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)/]
arclist标签底层字段
|
arclist标签相关函数:
文件\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]推荐[c]图片[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 /] {/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]
以后碰到有用的arclist标签使用方法,再补上。