欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  程序教程

arclist|织梦文档列表标签

程序员文章站 2021-12-12 21:44:34
...
  • 标签名称:arclist
  • 标签功能:获取指定文档列表
  • 适用范围:全局使用
  • 适用版本:DedeCMS V5.5/V5.6/V5.7
  • 底层字段: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"格式)
  • 标签文件:标签文件名存放在/include/taglib/arclist.lib.php,我们也可以在后台标签源码管理处找到,用户可自行扩展此标签。
  • 标签说明:织梦arclist是一个常用的全局标签,也称为*列表标记,其中imglist、imginfolist、specart、coolart、autolist都是由该标记所定义的不同属性延伸出来的别名标记。其中,*列表标记(freelist),功能基本等同于arclist标记,区别是freelist标记支持分页,这让生成Google Map、生成按自定义排序规则的文章列表(如按标题拼音部首排序等)等轻松的实现统一化管理,并且*列表是独立编译的,不与其它模板混在一起,这样不会影响系统生成HTML或访问速度。

    织梦arclist标签的属性如下:

    col='' //分多少列显示(默认为单列),5.3版中本属性可以通过多种方式进行多行显示row='10' //返回文档列表总数typeid='' //栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用","分开表示多个栏目;getall='1' //在没有指定这属性的情况下,在栏目页、文章页模板,不会获取以","分开的多个栏目的下级子类titlelen = '30' //标题长度 等同于titlelengthinfolen='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='' //指定文档IDidlist ='' //提取特定文档(文档ID)channelid //频道ID

    基本的调用语法如下:

    {dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}<a href="https://www.noniu.com/jiaocheng/[field:arcurl/]" data_ue_src="https://www.noniu.com/biaoqian/[field:arcurl/]">[field:title/]</a>{/dede:arclist}

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

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

    使用arclist调用附加表字段:要获取附加表内容,必须指定两个条件

    • 指定channelid属性
    • 指定要获得的字段addfields='字段1,字段2'

    这一点,在织梦自定义模型与附加表字段调用方法一文中已经详细讲解,具体代码如下:

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