
如果资源站更新了一个比较古老的视频,但是不想让它在前台列表或者首页显示,就可以手动把这个视频的更新时间改的更早一些,实现类似压后排序的效果。
一共需要修改两个文件:
1、打开 /application/admin/view/vod/info.html,大约74行:
<div class="layui-input-inline w110">
<input type="checkbox" name="uptime" title="{:lang('update_time')}" value="1" checked class="layui-checkbox checkbox-ids" lay-skin="primary">
</div>
在后边增加
<div class="layui-input-inline">
<input type="text" name="uptime_value" id="uptime_value" class="layui-input" placeholder="请选择时间">
</div>
<script>
// 初始化时间组件
layui.use(['laydate'], function(){
var laydate = layui.laydate;
// 获取当前时间
var now = new Date();
var formattedTime = now.getFullYear() + '-'
+ String(now.getMonth()+1).padStart(2,'0') + '-'
+ String(now.getDate()).padStart(2,'0') + ' '
+ String(now.getHours()).padStart(2,'0') + ':'
+ String(now.getMinutes()).padStart(2,'0') + ':'
+ String(now.getSeconds()).padStart(2,'0');
// 渲染日期时间组件
laydate.render({
elem: '#uptime_value',
type: 'datetime',
format: 'yyyy-MM-dd HH:mm:ss',
value: formattedTime,
trigger: 'click' // 点击弹出日期选择
});
});
</script>

2、打开 application/common/model/vod.php 找到:
if($data['uptime']==1){
$data['vod_time'] = time();
}
修改为:
//自定义更新时间
if(isset($data['uptime']) && $data['uptime'] == 1){
// 优先使用用户输入的时间
if(!empty($data['uptime_value'])){
$data['vod_time'] = strtotime($data['uptime_value']);
} else {
// 兜底逻辑:使用当前时间
$data['vod_time'] = time();
}
}

怎么批量更新视频时间吗? 比如在后台视频数据里全选一页,更改为当前时间。 这样做的目的是节省空间,每天首页也更新了视频!
大概就是在“视频列表”页勾选当前页的条目,然后点一个“置为当前时间”的按钮,把这些选中 vod_id 的 vod_time 批量更新为当前time()。后端application/admin/controller/Vod.php新增批量更新时间接口,前端application/admin/view/vod/index.html(后台视频列表页)加“置为当前时间”按钮。
请刀哥·出一期详细的文章教程吧! 没设置成功!