arclist

功能说明:获取指定文档列表

适用范围

全站都能使用


基本语法:

这里放语法

{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

image.png


实用技巧

技巧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]

image.png

或者可以二次开发下

找打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]

我们可以判断标签内容来输出不同的内容!

后续持续更新中!

相关内容

发表评论

验证码:
点击我更换图片

最新评论