168 lines
6.5 KiB
PHP
168 lines
6.5 KiB
PHP
<?php
|
||
/**
|
||
* Created by coder loomis.li
|
||
* User: coder loomi
|
||
* Date: 2022/09/06 15:02
|
||
*/
|
||
|
||
namespace app\other\admin;
|
||
|
||
use think\Db;
|
||
use app\admin\controller\Admin;
|
||
use app\common\builder\ZBuilder;
|
||
use app\other\model\Advert as AdvertModel;
|
||
|
||
/**
|
||
* 广告控制器
|
||
* @package app\product\admin
|
||
*/
|
||
class Advert extends Admin
|
||
{
|
||
private $typearr = [
|
||
1=>'首页广告(尺寸:410 × 230)',
|
||
2=>'留言板规格(尺寸:410 × 230)',
|
||
3=>'分享海报',
|
||
4=>'首页底部浮动广告(尺寸:1360 × 274)',
|
||
];
|
||
|
||
/**
|
||
* 广告列表
|
||
* @author loomis <2477365162@qq.com>
|
||
* @return mixed
|
||
*/
|
||
public function index(){
|
||
// 获取
|
||
$map = $this->getMap();
|
||
// 排序
|
||
$order = $this->getOrder('sort asc,create_time desc');
|
||
|
||
//数据
|
||
$data_list = AdvertModel::where($map)->order($order)->paginate();
|
||
// 分页数据
|
||
$page = $data_list->render();
|
||
|
||
//加载模板
|
||
return ZBuilder::make('table')
|
||
->setSearchArea([
|
||
['text', 'title', '广告标题', 'like'],
|
||
['select', 'type', '广告类别', 'eq', '', $this->typearr],
|
||
['daterange','create_time','添加时间','between'],
|
||
])
|
||
->setPageTitle('广告列表') // 设置页面标题
|
||
->setTableName('advert')
|
||
->addOrder('create_time') // 添加排序
|
||
->addColumns([ // 批量添加列
|
||
['type', '类型','text','',$this->typearr],
|
||
['title', '广告标题','text'],
|
||
['thumb', '广告图片','picture'],
|
||
['sort','排序(顺序排序)','text.edit'],
|
||
['create_time', '添加时间','datetime'],
|
||
['right_button', '操作', 'btn']
|
||
])
|
||
->addTopButton('release',['class'=>'btn btn-primary','icon' => 'fa fa-plus-circle','title'=>'添加广告', 'href' => url('add')])
|
||
->addRightButton('edit',['title'=>'編輯','icon'=>'fa fa-pencil','href'=>url('edit',['id' => '__id__'])])
|
||
->addRightButton('delete') // 添加右侧按钮
|
||
->setRowList($data_list) // 设置表格数据
|
||
->setPages($page) // 设置分页数据
|
||
->setTabNav([
|
||
'tab1' => ['title' => '广告列表', 'url' => url('other/advert/index', ['group' => 'tab1'])],
|
||
'tab2' => ['title' => '添加广告', 'url' => url('other/advert/add', ['group' => 'tab2'])],
|
||
], 'tab1')
|
||
->fetch(); // 渲染模板
|
||
}
|
||
|
||
/**
|
||
* 添加广告
|
||
* @author loomis <2477365162@qq.com>
|
||
* @return mixed
|
||
*/
|
||
public function add(){
|
||
// 保存数据
|
||
if ($this->request->isPost()) {
|
||
$data = $this->request->post();
|
||
if(!isset($data['title'])|| empty($data['title'])){
|
||
return $this->error('广告名称不能为空');
|
||
}
|
||
|
||
$r = AdvertModel::create($data);
|
||
if($r){
|
||
$this->success('新增成功', url('index'));
|
||
}else{
|
||
$this->error('新增失败');
|
||
}
|
||
|
||
}else{
|
||
// 使用ZBuilder快速创建表单
|
||
return ZBuilder::make('form')
|
||
->setPageTitle('新增广告') // 设置页面标题
|
||
->addFormItems([ // 批量添加表单项
|
||
['select', 'type', '广告类型','<code>必选</code>',$this->typearr],
|
||
['text', 'title', '广告名称','<code>必填</code>'],
|
||
['image:4', 'thumb', '广告图片', '<code>必上传</code>'],
|
||
['image:4', 'img1', '页面背景图', '<code>必上传</code>'],
|
||
['images:4', 'img2', '微信二维码图(多图)', '<code>必上传</code>'],
|
||
['text', 'sort', '排序(越小前台显示越靠前)','',9999],
|
||
['textarea:6', 'linkurl', '广告链接','<code>必填</code>'],
|
||
['textarea:6', 'summary', '广告介绍','<code>必填</code>'],
|
||
])
|
||
->setTabNav([
|
||
'tab1' => ['title' => '广告列表', 'url' => url('other/advert/index', ['group' => 'tab1'])],
|
||
'tab2' => ['title' => '添加广告', 'url' => url('other/advert/add', ['group' => 'tab2'])],
|
||
], 'tab2')
|
||
->setTrigger('type', '4', 'img1,img2')
|
||
->fetch();
|
||
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 编辑广告广告
|
||
* @author loomis <2477365162@qq.com>
|
||
* @return mixed
|
||
*/
|
||
public function edit($id=null){
|
||
if ($id === null) return $this->error('缺少参数');
|
||
|
||
// 保存数据
|
||
if ($this->request->isPost()) {
|
||
$data = $this->request->post();
|
||
if(!isset($data['title'])|| empty($data['title'])){
|
||
return $this->error('广告名称不能为空');
|
||
}
|
||
|
||
$r = AdvertModel::update($data);
|
||
if($r){
|
||
$this->success('编辑成功', url('index'));
|
||
}else{
|
||
$this->error('编辑失败');
|
||
}
|
||
|
||
}else{
|
||
$info = AdvertModel::get($id);
|
||
// 使用ZBuilder快速创建表单
|
||
return ZBuilder::make('form')
|
||
->setPageTitle('编辑广告') // 设置页面标题
|
||
->addFormItems([ // 批量添加表单项
|
||
['hidden', 'id'],
|
||
['select', 'type', '广告类型','<code>必选</code>',$this->typearr],
|
||
['text', 'title', '广告名称','<code>必填</code>'],
|
||
['image:4', 'thumb', '广告图片', '<code>必上传</code>'],
|
||
['image:4', 'img1', '页面背景图', '<code>必上传</code>'],
|
||
['images:4', 'img2', '微信二维码图(多图)', '<code>必上传</code>'],
|
||
['text', 'sort', '排序(越小前台显示越靠前)','',9999],
|
||
['textarea:6', 'linkurl', '广告链接','<code>必填</code>'],
|
||
['textarea:6', 'summary', '广告介绍','<code>必填</code>'],
|
||
])
|
||
->setFormData($info)
|
||
->setTabNav([
|
||
'tab1' => ['title' => '广告列表', 'url' => url('other/advert/index', ['group' => 'tab1'])],
|
||
'tab2' => ['title' => '添加广告', 'url' => url('other/advert/add', ['group' => 'tab2'])],
|
||
], '')
|
||
->setTrigger('type', '4', 'img1,img2')
|
||
->fetch();
|
||
|
||
}
|
||
}
|
||
|
||
}
|