
在后台视频数据管理页面增加一个更新时间按钮,可以批量设置视频的更新时间,某些情况下还是挺好用的,一共涉及两处修改:
1、application/admin/controller/Vod.php
查找 public function field() 在这个函数上方新增:
public function updateTimeBatch()
{
$param = input();
$ids = isset($param['ids']) ? $param['ids'] : '';
$time = isset($param['time']) ? trim($param['time']) : '';
if (empty($ids)) {
return $this->error(lang('param_err'));
}
$timestamp = time();
if (!empty($time)) {
$tmp = strtotime($time);
if ($tmp !== false) {
$timestamp = $tmp;
}
}
$where['vod_id'] = ['in', $ids];
$update = ['vod_time' => $timestamp];
$res = model('Vod')->fieldData($where, $update);
if ($res['code'] > 1) {
return $this->error($res['msg']);
}
return $this->success($res['msg']);
}
2、application/admin/view/vod/index.html
查找
<a class="layui-btn layui-btn-primary j-iframe" data-checkbox="true" data-href="{:url('make/make?ac=info&tab=vod')}" href="javascript:;" title="{:lang('make_page')}"><i class="layui-icon"></i>{:lang('make_page')}</a>
在这段代码下方新增:
<a class="layui-btn layui-btn-primary" id="btnBatchUpdateTime" href="javascript:;" title="{:lang('update_time')}"><i class="layui-icon"></i>{:lang('update_time')}</a>
找到页面底部的js脚本里的
layui.use(['laypage', 'layer','form'], function() {
改为
layui.use(['laypage', 'layer','form','laydate'], function() {
找到
form = layui.form;
改为
form = layui.form,
laydate = layui.laydate;
找到
// 小屏幕下名称问题
if ($('body').width() <= 600) {
$('#table_th_vod_name').attr('width', '300');
}
在下方新增
$('#btnBatchUpdateTime').on('click', function () {
var ids = [];
$('.checkbox-ids:checked').each(function (index, item) {
if (item.checked) {
ids.push(item.value);
}
});
if (ids.length < 1) {
layer.msg('{:lang('请先选择视频')}');
return false;
}
var content = '<div style="padding:15px 20px 0 20px;">' +
'<input type="text" class="layui-input" id="batchUpdateTimeInput" placeholder="{:lang('update_time')}">' +
'<p style="margin-top:8px;color:#999;">{:lang('批量设置视频')} {:lang('update_time')}</p>' +
'</div>';
var openIndex = layer.open({
type: 1,
title: '{:lang('update_time')}',
area: ['360px', '200px'],
content: content,
btn: ['{:lang('确定')}','{:lang('取消')}'],
success: function () {
laydate.render({
elem: '#batchUpdateTimeInput',
type: 'datetime',
value: new Date()
});
},
yes: function () {
var timeVal = $('#batchUpdateTimeInput').val();
layer.msg('{:lang('wait_submit')}', {time: 500000});
$.post("{:url('updateTimeBatch')}", {ids: ids.join(','), time: timeVal}, function (res) {
layer.msg(res.msg, {}, function () {
if (res.code == 1) {
location.reload();
}
});
});
layer.close(openIndex);
}
});
});
完整的js脚本代码为:
<script type="text/javascript">
var curUrl="{:url('vod/data',$param)}";
layui.use(['laypage', 'layer','form','laydate'], function() {
var laypage = layui.laypage
, layer = layui.layer,
form = layui.form,
laydate = layui.laydate;
$ = layui.jquery;
laypage.render({
elem: 'pages'
,count: {$total}
,limit: {$limit}
,curr: {$page}
,layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
,jump: function(obj,first){
if(!first){
location.href = curUrl.replace('%7Bpage%7D',obj.curr).replace('%7Blimit%7D',obj.limit);
}
}
});
// 小屏幕下名称问题
if ($('body').width() <= 600) {
$('#table_th_vod_name').attr('width', '300');
}
$('#btnBatchUpdateTime').on('click', function () {
var ids = [];
$('.checkbox-ids:checked').each(function (index, item) {
if (item.checked) {
ids.push(item.value);
}
});
if (ids.length < 1) {
layer.msg('{:lang('请先选择视频')}');
return false;
}
var content = '<div style="padding:15px 20px 0 20px;">' +
'<input type="text" class="layui-input" id="batchUpdateTimeInput" placeholder="{:lang('update_time')}">' +
'<p style="margin-top:8px;color:#999;">{:lang('批量设置视频')} {:lang('update_time')}</p>' +
'</div>';
var openIndex = layer.open({
type: 1,
title: '{:lang('update_time')}',
area: ['360px', '200px'],
content: content,
btn: ['{:lang('确定')}','{:lang('取消')}'],
success: function () {
laydate.render({
elem: '#batchUpdateTimeInput',
type: 'datetime',
value: new Date()
});
},
yes: function () {
var timeVal = $('#batchUpdateTimeInput').val();
layer.msg('{:lang('wait_submit')}', {time: 500000});
$.post("{:url('updateTimeBatch')}", {ids: ids.join(','), time: timeVal}, function (res) {
layer.msg(res.msg, {}, function () {
if (res.code == 1) {
location.reload();
}
});
});
layer.close(openIndex);
}
});
});
});
</script>