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