天天看点

laravel-admin 集成 UEditor

1.在composer.Json文件中添加依赖:"stevenyangecho/laravel-u-editor": "~1.4" 2.运行composer update更新。 3.在config/app.php中的provider板块添加服务提供Stevenyangecho\UEditor\UEditorServiceProvider::class。 4.运行php artisan vendor:publish命令。选择UEditor序号安装。 5.在App/Admin中创建Extension文件夹,并创建文件UEditor.php。写入如下代码:

   <?php

namespace App\Admin\Extensions;

use Encore\Admin\Form\Field;

class UEditor extends Field{

    protected static $css = [ #对应public目录

    ];

    public static $isJs=false;

    protected static $js = [  #对应public目录

        '/laravel-u-editor/ueditor.config.js',//        '/laravel-u-editor/ueditor.all.min.js',

        '/laravel-u-editor/ueditor.all.js',

        '/laravel-u-editor/ueditor.parse.js',  # 自己加的

        '/laravel-u-editor/lang/zh-cn/zh-cn.js',

    ];

    protected $view = 'Admin.Tool.UEditor';  #这个模板是从sense项目复制过来的,指向resource/views目录

    public function render()

    {

        $this->script = <<<EOT

        UE.delEditor('{$this->id}');

             var  ue = UE.getEditor('{$this->id}');

EOT;

        return parent::render();

    }

}

6.根据UEditor 中protected $view的路径新建视图。如上图: Admin.Tool.UEditor。并写入内容:

<div class="form-group {!! !$errors->has($errorKey) ?: 'has-error' !!}">

    <label for="{{$id}}" class="col-sm-2 control-label">{{$label}}</label>

    <div class="col-sm-8">

        @include('admin::form.error')

        <textarea class="{{ $class }}" id="{{$name}}" name="{{$name}}" placeholder="{{ $placeholder }}" {!! $attributes !!} >{{ old($column, $value) }}</textarea>

        @include('admin::form.help-block')

    </div>

</div>

7.最后在App/Admin/bootstrap.php中修改如下配置:

Encore\Admin\Form::forget(['map']);

Encore\Admin\Form::extend('ueditor',\App\Admin\Extensions\UEditor::class);

8.最后在需要的地方引用:$form->ueditor(‘column’,’label’);

9.在传入图片时,Windows下可能会提示上传错误,此时修改:\vendor\stevenyangecho\laravel-u-editor\src\Uploader\Upload.php 131行$randNum数值,减少两个0即可。