功能说明:获取指定文档列表
适用范围
全站都能使用
基本语法:
这里放语法
{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基本没用,不要了!
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]滚动[s]跳转[j]图文[a]加粗[b] noflag = '' 同flag,但这里是表示不包含这些属性 orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序 subday='天数' 表示在多少天以内的文档
注意事项
如果在内容模型里面增加了字段,那么就需要,比如我们增加了【dt】字段
{dede:arclist addfields='dt' channelid='内容模型id'} <a href='[field:arcurl/]'>[field:title/]</a> {/dede:arclist}
id号即为内容模型id
实用技巧
技巧1:有略缩图即显示略缩图
[field:array runphp='yes'] $base=$GLOBALS['cfg_basehost'];//这里是获取系统参数里面的网站地址 if (@me['litpic']=='/images/defaultpic.gif')@me="<a class='layui-list-img' href='@me[arcurl]'> <img src='$base@me[litpic]' alt='@me[title]'></a>"; else @me=""; [/field:array]
或者可以二次开发下
找打include下的arc.listview.class.php
找到if($row['litpic'] == '-' || $row['litpic'] == '')这里
改成
$row['litpicstate']='show'; if($row['litpic'] == '-' || $row['litpic'] == '') { $row['litpic'] = $GLOBALS['cfg_cmspath'].'/images/defaultpic.gif'; $row['litpicstate']='hide'; $row['litpics'] = '233';//不知道为什么等于空的时候下面匹配不到,那不等于233吧!懒得浪费时间了 }
原理增加一个参数litpicstate 判断有没有略缩图!默认有显示show,没有这个参数就显示hide;
调用方法
[field:array runphp='yes'] $base=$GLOBALS['cfg_basehost']; $index=$GLOBALS['autoindex'];//index if (@me['litpicstate']=='show')@me="<a class='layui-list-img' href='@me[arcurl]'> <img src='$base@me[litpic]' alt='@me[title]'></a>"; else @me=""; [/field:array]
这样其实用于ajax调用,如果是静态的没必要去增加这个参数! ajax就方便判断了!
技巧2:根据autoindex,设置颜色
首先我们应该知道每个列表标签都有autoindex这个属性!
{dede:arclist} <li class="[field:global name='autoindex' runphp='yes'] if(@me=='1') @me='active';else @me=''; [/field:global]"> {/dede:arclist}
则会输出 0,1,2,4,5,6......
那么我们可以根据这个属性设置不同的样式,如下图我们把代码放入class="" 内!即可从1到4分别加不同的class
{dede:arclist} [field:global name='autoindex' runphp='yes'] $array = array('layui-bg-green','layui-bg-blue','layui-bg-cyan','layui-bg-orange'); @me=$array[@me]; {/dede:arclist}
技巧3:根据标签属性进行操作修改
我们要知道每个标签都可以进行runphp='yes' 操作
[field:flag runphp='yes'] if (strpos('@me','h') !== false) @me="<span class=layui-badge>头条</span>"; else if(strpos(@me,'a') !== false) @me= "<span class='layui-badge'>特荐</span>"; else @me=''; [/field:flag]
我们可以判断标签内容来输出不同的内容!
后续持续更新中!
-
发表评论