* @return mixed
* @throws \think\Exception
* @throws \think\exception\DbException
*/
public function index()
{
// 查询
$map = $this->getMap();
// 排序
$order = $this->getOrder('update_time desc');
// 数据列表
$data_list = AdvertModel::where($map)->order($order)->paginate();
$btnType = [
'class' => 'btn btn-info',
'title' => '广告分类',
'icon' => 'fa fa-fw fa-sitemap',
'href' => url('advert_type/index')
];
$list_type = AdvertTypeModel::where('status', 1)->column('id,name');
array_unshift($list_type, '默认分类');
// 使用ZBuilder快速创建数据表格
return ZBuilder::make('table')
->setSearch(['title' => '标题']) // 设置搜索框
->addColumns([ // 批量添加数据列
['id', 'ID'],
['name', '广告名称', 'text.edit'],
['typeid', '分类', 'select', $list_type],
['ad_type', '类型', 'text', '', ['代码', '文字', '图片', 'flash']],
['timeset', '时间限制', 'text', '', ['永不过期', '限时']],
['create_time', '创建时间', 'datetime'],
['update_time', '更新时间', 'datetime'],
['status', '状态', 'switch'],
['right_button', '操作', 'btn']
])
->addTopButtons('add,enable,disable,delete') // 批量添加顶部按钮
->addTopButton('custom', $btnType) // 添加顶部按钮
->addRightButtons(['edit', 'delete' => ['data-tips' => '删除后无法恢复。']]) // 批量添加右侧按钮
->addOrder('id,name,typeid,timeset,ad_type,create_time,update_time')
->setRowList($data_list) // 设置表格数据
->addValidate('Advert', 'name')
->fetch(); // 渲染模板
}
/**
* 新增
* @author 蔡伟明 <314013107@qq.com>
* @return mixed
* @throws \think\Exception
*/
public function add()
{
// 保存数据
if ($this->request->isPost()) {
// 表单数据
$data = $this->request->post();
// 验证
$result = $this->validate($data, 'Advert');
if (true !== $result) $this->error($result);
if ($data['ad_type'] != 0) {
$data['link'] == '' && $this->error('链接不能为空');
Validate::is($data['link'], 'url') === false && $this->error('链接不是有效的url地址'); // true
}
// 广告类型
switch ($data['ad_type']) {
case 0: // 代码
$data['content'] = $data['code'];
break;
case 1: // 文字
$data['content'] = ''.$data['title'].'';
break;
case 2: // 图片
$data['content'] = '';
break;
case 3: // flash
$data['content'] = '';
$data['content'] = '