laravel-admin集成ueditor编辑器图片列表显示问题解决
时间:2023-03-29 15:04:25
PHP
laravel-admin集成ueditor推荐使用laravel-u-editor,它是ueditor的laravelcomposer版本。基于UEditor1.4.3.3开发,支持en,zh_CN,zh_TW,支持本地和七牛云存储,默认本地上传public/uploadsinstallcomposerrequirestevenyangecho/laravel-u-editor然后在config/app的providers下.php添加一行Stevenyangecho\UEditor\UEditorServiceProvider::class执行phpartisanvendor:publish基本配置1.添加组件文件:app/Admin/Extensions/Form/uEditor.php:script=<<has($errorKey)?:'has-error'!!}">{{$label}}@include('admin::form.error'){{--该样式可以限制高度,不会随内容增长--}}{!!旧($列,$值)!!}@include('admin::form.help-block')
3.然后注册到laravel-admin,在app/Admin/bootstrap.php中添加如下代码:useApp\Admin\Extensions\Form\uEditor;Encore\Admin\Form::extend('ueditor',uEditor::class);4.调用:$form->ueditor('content','content')->规则('必需');配置七牛服务打开文件config\UEditorUpload.php配置七牛配置参数//注释下一行//'mode'=>'local',//上传方式,local是本地qiniu'mode'=>'qiniu',//上传方法,local为本地qiniu,用于七牛//七牛配置,如果mode='qiniu',则需要以下内容。'七牛'=>['accessKey'=>'..','secretKey'=>'。..','桶'=>'。..','网址'=>'。..',//七牛分配的CDN域名,注意带上http://]],修复上传界面vendor\stevenyangecho\laravel-u-editor\src\Lists无法管理文件列表的问题Qiniu.phppublicfunctiongetList(){$size=$this->request->get('size',$this->listSize);$start=$this->request->get('start','');$auth=newAuth(config('UEditorUpload.core.qiniu.accessKey'),config('UEditorUpload.core.qiniu.secretKey'));$bucketManager=newBucketManager($auth);//注释掉以下几行//list($items,$marker,$error)=$bucketManager->listFiles(config('UEditorUpload.core.qiniu.bucket'),$this->path,$start,$size);//修改以下三行$result1=$bucketManager->listFiles(config('UEditorUpload.core.qiniu.bucket'),$this->path,$start,$size);$size=count($result1);//如果取不到items,报找不到key的错误$items=$result1[0]['items'];//判断是否错误if($size>2){return["state"=>$error->message(),"list"=>array(),"start"=>$start,"total"=>0];}if(empty($items)){return["state"=>"nomatchfile","list"=>array(),"start"=>$start,"total"=>0];}$files=[];//dd($items['items']);foreach($itemsas$v){if(preg_match("/\.(".$this->allowFiles.")$/i",$v['key'])){$files[]=array('url'=>rtrim(config('UEditorUpload.core.qiniu.url'),'/').'/'.$v['key'],'mtime'=>$v['mimeType'],);}}if(empty($files)){return["state"=>"nomatchfile","list"=>array(),"start"=>$start,"total"=>0];}/*返回数据*/$result=["state"=>"SUCCESS","list"=>$files,"start"=>$start,"total"=>count($files)];返回$结果;}