帮助

您现在的位置:首页 > 帮助 > 易优技巧 > 正文

文章排行调用如何按年月日来调用

2020-08-28 meiz21
需要写入的php函数,请在“网站根目录extend/function.php”文件内写入

if (!function_exists('diy_archives_list')) 
{
    // 获取指定天数的文档列表
    function diy_archives_list($channel = 0, $day = 0, $orderby = 'aid', $limit = 10) {
        $where = [];
if (!empty($channel)) {
$where['a.channel'] = $channel;
} else {
$where['a.channel'] = ['NOT IN', [6,8]];
}
        if ($day > 0) {
            switch ($day) {
                case 1:
                    $t = mktime(0,0,0,date('m'),date('d'),date('Y'));
                    break;
 
                case 7:
                    $t = mktime(0,0,0,date('m'),date('d')-date('w')+1,date('y'));
                    break;
 
                case 28:
                case 29:
                case 30:
                case 31:
                    $t = mktime(0,0,0,date('m'),1,date('Y'));
                    break;
 
                case 90:
                    $t = strtotime(date('Y-m-d', strtotime("-3 month" )));
                    break;
 
                case 365:
                case 366:
                    $t = strtotime(date('Y-01-01'));
                    break;
                
                default:
                    # code...
                    break;
            }
            $where['a.add_time'] = ['gt', $t];
        }
        $where2 = [
            'a.arcrank' => ['gt', -1],
            'a.status'  => 1,
            'a.is_del'  => 0,
            'a.lang'    => get_home_lang(),
        ];
        $where = array_merge($where, $where2);
        $orderby = getOrderBy($orderby, 'desc');
        $result = M('archives')->alias('a')
            ->field('a.aid,a.title,a.click,a.channel,a.is_jump,a.jumplinks,a.add_time,b.dirname,a.litpic')
            ->join('__ARCTYPE__ b', 'a.typeid = b.id', 'LEFT')
            ->where($where)
            ->order($orderby)
            ->limit($limit)
            ->select();
        // 获取查询的控制器名
        $channeltype_info = model('Channeltype')->getInfo($channel);
        $controller_name = $channeltype_info['ctl_name'];
        foreach ($result as $key => $val) {
            $val['litpic'] = get_default_pic($val['litpic']); // 默认封面图
            /*文档链接*/
            if ($val['is_jump'] == 1) {
                $val['arcurl'] = $val['jumplinks'];
            } else {
                $val['arcurl'] = arcurl('home/'.$controller_name.'/view', $val);
            }
            /*--end*/
            $result[$key] = $val;
        }
 
        return $result;
    }
}



模板内调用代码
{eyou:volist name=":diy_archives_list(1,1,'click',10)"}
      <li><i>{$i}</i>
        <p><a class="u-class" href="{$field.typeurl}">[ {$field.typename} ]</a><a class="u-title" href="{$field.arcurl}">{$field.title}</a></p>
        <strong>({$field.click})人阅读</strong><span>发布时间:{$field.add_time|MyDate='Y-m-d',###}</span></li>
{/eyou:volist}

(1,1,'click',10)l绿色1为频道模型
全部:0
文章:1
产品:2
图集:3
下载:4

(1,1,'click',10)中的蓝色1为天数:
今日:1
本周:7
本月:30
三个月:90
本年:365
全部:0


(1,1,'click',10)中的click为排序方式:
new: 按发布时间排序
click: 按点击数排序
sort_order:按排序号排序
rand: 按随机排序



(1,1,'click',10)中的10为调用条数:
数值可以自定义填写




效果展示:
 


QQ在线咨询