图片列表图片放大
命令行安装扩展
- require laravel-admin-ext/grid-lightbox
artisan vendor:publish --tag=laravel-admin-grid-lightbox
- 配置
打开config/admin.php,将属于此扩展的配置添加到extensions部分。
'extensions' => [
'grid-lightbox' => [
// Set to `false` if you want to disable this extension
'enable' => true,
]
]
用法
$grid->pic('海报图')->lightbox(['width' => 50, 'height' => 50]); //pic为图片字段
### 上传图片到OSS(此处以上传到阿里云为例)
- 附扩展官网链接 阿里云OSS存储
- 命令行安装扩展
composer require jacobcyl/ali-oss-storage:^1.1
- 然后在您的config/app.php添加
Jacobcyl \ AliOSS \ AliOssServiceProvider :: Class,
- 在app / filesystems.php中添加以下内容:
'oss' => [
'driver' => 'oss',
'access_id' => 'ABC',//AccessKey ID
'access_key' => 'ABC',//AccessKey Key Secret
'bucket' => 'bucket',//
'endpoint' => 'http://www.baidu.com',//地域节点
'cdnDomain' => 'http://www.baidu.com',//bucket对外访问的域名
'isCName' => false,
'debug' => false,
],
- 最后修改默认驱动程序(同filesystems.php文件下)
'default' => env('FILESYSTEM_DRIVER', 'oss'),
### 生成模型及控制器命令
生成模型(自己手动创建了Models目录)
artisan make:model Models/Location -m //创建模型并生成迁移文件
数据迁移(我自己的话是先创建了表再迁移的)
artisan migrate //运行迁移
关联模型控制器
artisan admin:make LocationController --model='AppModelsLocation' //创建关联Brand模型的控制器
注意事项
- 上传图片时(此处以上传到OSS为例)需要保存完整的图片链接,否则点编辑按钮时会报错,找不到图片(应该有其他解决方法我没试)
- 创建关联模型控制器时因为是自定义的Models目录,所以在运行命令的时候 --model 后面的路径一定要加引号 不然就一直报错(Model does not exists !
)
- 创建了新模块需添加新菜单时,需要在app/Admin目录下的routes.php文件里添加路由,然后添加菜单处-路径一项就直接填写:banner 路由配置如下:
<?php
use Illuminate\Routing\Router;
Admin::routes();
Route::group([
'prefix' => config('admin.route.prefix'),
'namespace' => config('admin.route.namespace'),
'middleware' => config('admin.route.middleware'),
], function (Router $router) {
$router->get('/', 'HomeController@index')->name('admin.home');
$router->resource('banner', BannerController::class); //新增的轮播图模块 一般创建控制器的时候有返回
});
- composer安装的东西显示资源不存在的话多半是后面的路径需要加引号