天天看點

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即可。