You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
3.1 KiB
107 lines
3.1 KiB
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Models\ArticleNotification;
|
|
use Encore\Admin\Controllers\AdminController;
|
|
use Encore\Admin\Form;
|
|
use Encore\Admin\Grid;
|
|
use Encore\Admin\Show;
|
|
|
|
class ArticleNotificationController extends AdminController
|
|
{
|
|
/**
|
|
* 当前资源的标题
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $title = '通知文章';
|
|
|
|
/**
|
|
* 创建网格构建器
|
|
*
|
|
* @return Grid 返回网格实例
|
|
*/
|
|
protected function grid()
|
|
{
|
|
// 创建新的网格实例
|
|
$grid = new Grid(new ArticleNotification);
|
|
|
|
// 按照最新的通知排序
|
|
$grid->model()->latest();
|
|
|
|
// 定义网格的列
|
|
$grid->column('id', __('Id')); // ID 列
|
|
$grid->column('title', __('Title')); // 标题列
|
|
$grid->column('created_at', __('Created at')); // 创建时间列
|
|
|
|
// 定义过滤器
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
$filter->like('id', __('Id')); // 按 ID 过滤
|
|
$filter->like('title', __('Title')); // 按标题过滤
|
|
});
|
|
|
|
// 自定义操作按钮
|
|
$grid->actions(function (Grid\Displayers\DropdownActions $actions) {
|
|
$actions->disableEdit(); // 禁用编辑操作
|
|
});
|
|
|
|
return $grid; // 返回创建的网格
|
|
}
|
|
|
|
/**
|
|
* 创建详情展示构建器
|
|
*
|
|
* @param mixed $id 通知文章的 ID
|
|
* @return Show 返回详情展示实例
|
|
*/
|
|
protected function detail($id)
|
|
{
|
|
// 创建新的详情展示实例
|
|
$show = new Show(ArticleNotification::findOrFail($id));
|
|
|
|
// 定义展示的字段
|
|
$show->field('id', __('Id')); // ID 字段
|
|
$show->field('title', __('Title')); // 标题字段
|
|
$show->field('content', __('Content'))->unescape(); // 内容字段,允许 HTML 解码
|
|
$show->field('created_at', __('Created at')); // 创建时间字段
|
|
|
|
return $show; // 返回创建的详情展示
|
|
}
|
|
|
|
/**
|
|
* 创建表单构建器
|
|
*
|
|
* @return Form 返回表单实例
|
|
*/
|
|
protected function form()
|
|
{
|
|
// 创建新的表单实例
|
|
$form = new Form(new ArticleNotification);
|
|
|
|
// 定义表单字段
|
|
$form->text('title', __('Title'))->help('请再三确认再发布,不可修改'); // 标题字段,带帮助信息
|
|
$form->kindeditor('content', __('Content')); // 内容字段,使用富文本编辑器
|
|
|
|
// 保存事件
|
|
$form->saving(function (Form $form) {
|
|
// 检查当前环境是否为开发环境
|
|
if (app()->environment('dev')) {
|
|
admin_toastr('开发环境不允许操作', 'error'); // 提示用户
|
|
return back()->withInput(); // 返回到表单
|
|
}
|
|
});
|
|
|
|
// 删除事件
|
|
$form->deleting(function (Form $form) {
|
|
// 检查当前环境是否为开发环境
|
|
if (app()->environment('dev')) {
|
|
admin_toastr('开发环境不允许操作', 'error'); // 提示用户
|
|
return back()->withInput(); // 返回到表单
|
|
}
|
|
});
|
|
|
|
return $form; // 返回创建的表单
|
|
}
|
|
}
|