使用Laravel-admin管理文章。
先在laravel_admin数据库建立一个文章表 表取名为:Article,
需要的字段有:
id(设置为主键并自增),
title(文章标题,VARCHAT类型长度32),
content(文章内容,TEXT类型),
updated_at(修改时间,TIMESTAMP类型),
created_at(创建时间,TIMESTAMP类型)
--此处犯了个错误,表名不该使用大写开头,应该使用全小写(开发规范) 大家引以为戒。
此时打开后台,会发现都是英文,需要修改配置文件(laravel-admin目录下)config/app.php:
找到代码:
1 |
|
修改为:
1 |
|
此时打开后台依然会发现左侧导航存在英文
点击左侧导航中的[Admin]=>[Menu],即可修改导航为中文(需要一个一个修改左侧导航)。
回到重点,需要创建一个菜单,为文章管理
此时刷新页面,会发现左侧导航有一个【文章管理】,如果点击【文章管理】会发现报404错误,这是因为没有设置路由。
打开文件(laravel-admin目录下)app/Admin/routes.php
添加一句代码:
1 |
|
进入laravel-admin目录下app/Admin/Controllers
复制控制器文件ExampleController.php为ArticleController.php
修改类名:
1 |
|
将类名修改为ArticleController
如:
1 |
|
创建文章表模型,在cmd或者Git使用命令:
1 |
|
此时会生成一个名为Article.php的文件并存放于laravel-admin目录下app目录中。
需要为此文件的Article类中添加代码:
1 |
|
将所有写着YourModel的地方修改为Article继续修改laravel-admin目录下app/Admin/Controllers/ArticleController.php文件
别忘了需要在文件顶部引入文章模型,引入代码:
use
App\Article;
为了这个界面好看点,在app/Admin/Controllers/ArticleController.php文件的grid函数修改如下:此时后台左侧导航的文章管理已经能正常打开不会报404错误
protected
function
grid()
{
$grid
=
new
Grid(
new
Article);
$grid
->id(
'ID'
)->sortable();
$grid
->title(
'文章标题'
);
$grid
->created_at(
'创建时间'
);
$grid
->updated_at(
'修改时间'
);
return
$grid
;
}
需要修改form函数:此时刷新界面再点击右上角【新建】
protected
function
form()
{
$form
=
new
Form(
new
Article);
$form
->text(
'title'
,
'文章标题'
);
$form
->textarea(
'content'
,
'文章内容'
);
$form
->display(
'id'
,
'文章ID'
);
$form
->display(
'created_at'
,
'创建时间'
);
$form
->display(
'updated_at'
,
'修改时间'
);
return
$form
;
}
返回到文章管理的页面,点击右侧【操作】中的“眼睛”按钮查看文章详情,发现并没有文章详情,这是因为需要修改detail函数:此时再刷新页面,发现有了一些组件,可以正常写文章并提交保存到数据库。
protected
function
detail(
$id
)
{
$show
=
new
Show(Article::findOrFail(
$id
));
$show
->id(
'文章ID'
);
$show
->title(
'文章标题'
);
$show
->content(
'文章内容'
);
$show
->created_at(
'创建时间'
);
$show
->updated_at(
'修改时间'
);
return
$show
;
}
官方文档有详细使用富文本编辑器的教程:https://laravel-admin.org/docs/zh/model-form-field-management
但仔细看,后台中的新建文章的文章内容使用的是textarea而不是富文本编辑器。至此,文章管理中的CRUD(增删查改)均实现。
后续如果有需要再写富文本编辑器的文章吧。