Laravel-admin 使用记录
学习 L02课程,Laravel Administrator管理后台问题实在太多,改用laravel-admin作为管理后台。使用感受:laravel-admin真是超级容易上手,快捷简单易用。
下文用例主机域名使用http://larabbs.test
,实际使用需替换成你自己的主机域名。
安装
- 下载扩展包
composer require encore/laravel-admin
- 发布资源
php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
该命令生成
config/admin.php
,可以修改里面的配置(建议使用默认配置不修改)。 - 完成安装
php artisan admin:install
安装过程中,会自动执行数据库迁移,生成管理后台所需的数据表。安装完成后,在浏览器打开:
http://larabbs.test/admin/
,使用用户名 admin 和密码 admin登录。
生成控制器
使用下面命令生成模型对应的控制器,这里为 App\Models\User
生成控制器(若在windows系统下操作,\\
改为 \
)。
php artisan admin:make UserController --model=App\\Models\\User
上面的命令会创建路由器文件 app/Admin/Controllers/UserController.php
。
添加路由配置
在路由配置文件 app/Admin/routes.php
中添加如下代码:
.
.
.
function (Router $router) {
$router->get('/', 'HomeController@index');
$router->resource('users', UserController::class); //新添加的
});
.
.
.
添加左侧菜单栏链接
浏览器打开 http://larabbs.test/admin/auth/menu
,在新增一栏填写如下信息:
访问地址 http://larabbs.test/admin/users
,即可看到默认样式的用户列表。
使用上述同样的方法可以依次创建
Topic
Reply
Category
等控制器。
表格调整
User
表格,头像显示
在grid
函数中添加:$grid->column('avatar')->display(function($avatar) { return "<img src='" . $avatar . "' width='100px height='100px'/>"; });
Topic
表格用户名、分类名
在grid
函数中添加:$grid->user()->name('User Name'); $grid->category()->name('Category Name');
遇到的报错
- Config Error
Config error. Disk [admin] not configured, please add a disk config in `config/filesystems.php`.
解决方法是在
config/filesystems.php
的disk
配置中添加如下代码:'admin' => [ 'driver' => 'local', 'root' => public_path('uploads'), 'visibility' => 'public', 'url' => env('APP_URL').'/uploads', ],
本作品采用《CC 协议》,转载必须注明作者和本文链接
看了下文档,显示图片还可以这样:😀
$grid->avatar('头像')->image(env('APP_URL'), 50, 50);
@hustnzj 感谢分享!我找不到好的方法,就用了笨的方法:smile:
@tsin 你使用的方式是不正确的,默认是将图片存储在storage里面,public目录只是软连接。
@景哥哥 多谢提醒!
这个怎么放到外面的啊?
@W_957 啥情况?
我有做了一个类似的开源项目
LaravelAdmin
www.laraveladmin.cn/ LaravelAdmin,LaravelAdmin官网,LaravelAdmin单页面应用,LaravelAdmin前后端分离,Laravel后台管理系统