1. 程式人生 > >laravel-admin自定義百度編輯器

laravel-admin自定義百度編輯器

       博主最近在開發一個功能時,需要用到編輯器,因為是使用Laravel-admin系統,但是Laravel-admin自帶的編輯器有點不夠用(其實是醜,哈哈),所以決定自定義百度編輯器,下面將為大家分享如何自定義百度編輯器。

       一、下載ueditor樣式檔案

       首先我們先去ueditor下載所需的JS、css檔案,並儲存在專案根目錄下的public/vendor下,傳送門->ueditor,路徑如下:

       二、建立自定義編輯器模板檔案  

    

       然後我們在專案根目錄下的resources/views下新建一個UEditor.blade.php的模板檔案,程式碼如下:

<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>

 路徑如下:

      三、建立控制元件檔案

      完成模板檔案的建立,我們接下來便開始新建一個控制元件UEditor.php的檔案,程式碼如下:

<?php
/**
 * Created by PhpStorm.
 * User: pc001
 * Date: 2018/10/8
 * Time: 16:31
 */

namespace App\Admin\Extensions;

use Encore\Admin\Form\Field;

class UEditor extends Field
{
    protected static $css = [
    ];
    public static $isJs=false;
    protected static $js = [
        'vendor/ueditor/ueditor.config.js',
        'vendor/ueditor/ueditor.all.js',
    ];
    protected $view = 'UEditor';
    public function render()
    {
        $this->script = <<<EOT
        UE.delEditor('{$this->id}');
             var  ue = UE.getEditor('{$this->id}');
             
EOT;
        return parent::render();
    }
}

路徑如下:

      四、配置檔案配置

      完成以上操作之後,我們便在跟目錄下的app/Admin下的bootstrap.php檔案下進行配置,程式碼如下:

use Encore\Admin\Form;
use App\Admin\Extensions\UEditor;

Encore\Admin\Form::forget(['map']);
Form::extend('ueditor', UEditor::class);

      五、呼叫自定義控制元件

      完成以上所有操作,我們便可以在我們的控制器中呼叫我們的自定義百度編輯器的了,呼叫如下:

$form->ueditor('rule', '抽獎規則');

      效果如下:

      這樣我們便完成了自定義編輯器~

      更多文章請關注微信公眾號