文章排行调用如何按年月日来调用-j9九游

2020-02-25 09:59 易优技巧
需要写入的php函数,请在“网站根目录extend/function.php”文件内写入

if (!function_exists('diy_archives_list')) 
{
    // 获取指定天数的文档列表
    function diy_archives_list($channel = 0, $day = 0, $orderby = 'aid', $limit = 10) {
        $where = [];
        !empty($channel) && $where['a.channel'] = $channel;
        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 = \think\db::name('archives')->alias('a')
            ->field('b.*, a.*')
            ->join('__arctype__ b', 'a.typeid = b.id', 'left')
            ->where($where)
            ->order($orderby)
            ->limit($limit)
            ->select();
        // 获取查询的控制器名
$ctl_name_list = model('channeltype')->getall('id,ctl_name', array(), 'id');
        foreach ($result as $key => $val) {
            $val['litpic'] = get_default_pic($val['litpic']); // 默认封面图
            /*文档链接*/
            if ($val['is_jump'] == 1) {
                $val['arcurl'] = $val['jumplinks'];
            } else {
$controller_name = $ctl_name_list[$val['channel']]['ctl_name'];
                $val['arcurl'] = arc;
            }
            /*--end*/
            $result[$key] = $val;
        }
 
        return $result;
    }
}



模板内调用代码
{eyou:volist name=":diy_archives_list(1,1,'click',10)"}
     
  • {$i}
  •        
            ({$field.click})人阅读发布时间:{$field.add_time|mydate='y-m-d',###}
    {/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为调用条数:
    数值可以自定义填写




    效果展示:
     


      微信客服

      工作日 8:30-12:00 14:30-18:30

    网站地图