文章排行调用如何按年月日来调用
如遇蓝奏网盘打不开lanzous替换成lanzoux尝试!
需要写入的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’] = 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为调用条数:
数值可以自定义填写