laravel-admin自定義百度編輯器
阿新 • • 發佈:2019-01-08
博主最近在開發一個功能時,需要用到編輯器,因為是使用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', '抽獎規則');
效果如下:
這樣我們便完成了自定義編輯器~
更多文章請關注微信公眾號