1
0
Files
lkafu/app/Admin/Controllers/AdvertController.php
2020-08-06 14:45:56 +08:00

105 lines
2.4 KiB
PHP

<?php
namespace App\Admin\Controllers;
use App\Models\Advert;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
class AdvertController extends AdminController
{
/**
* Index interface.
*
* @param Content $content
* @return Content
*/
public function index(Content $content)
{
return $content
->header('轮播图管理')
->description('列表')
->body($this->grid());
}
/**
* Edit interface.
*
* @param mixed $id
* @param Content $content
* @return Content
*/
public function edit($id, Content $content)
{
return $content
->header('轮播图管理')
->description('编辑')
->body($this->form()->edit($id));
}
/**
* Create interface.
*
* @param Content $content
* @return Content
*/
public function create(Content $content)
{
return $content
->header('轮播图管理')
->description('创建')
->body($this->form());
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$channel_type = (new Advert)->channel_type;
$grid = new Grid(new Advert);
$grid->id('ID');
$grid->column('频道')->display(function () {
return $this->channel_text;
});
$grid->cover('图片')->image('', 60, 60);
$grid->url('地址');
$grid->sort('排序');
$grid->filter(function ($filter) use ($channel_type) {
// 去掉默认的id过滤器
$filter->disableIdFilter();
// 在这里添加字段过滤器
$filter->equal('channel', '渠道')->select($channel_type);
});
return $grid;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$channel_type = (new Advert)->channel_type;
$form = new Form(new Advert);
$form->select('channel', '频道')->options($channel_type)->rules('required', ['required' => '必须选择频道']);
$form->text('url', '地址')->rules('required');
$form->image('cover', '图片')->rules('required')->uniqueName();
$form->number('sort', '排序')->default(1);
return $form;
}
}