laravel-admin 集成百度UEditor

作者:admin 发布:2018-06-14 浏览:2600次

1、首先安装laravel  ueditor扩展

"stevenyangecho/laravel-u-editor": "~1.4"


在composer.json中增加

"stevenyangecho/laravel-u-editor": "~1.4"1

然后执行

composer update1

然后在config/app.php的providers下增加一行

Stevenyangecho\UEditor\UEditorServiceProvider::class1

然后执行

php artisan vendor:publish

2、自定义laravel-admin  Form组件


新建组件类app/Admin/Extensions/UEditor:

<?php
namespace App\Admin\Extensions;
use Encore\Admin\Form\Field;
class UEditor extends Field
{
    public static $js = [
        'laravel-u-editor/ueditor.config.js',
        'laravel-u-editor/ueditor.all.min.js',
        'laravel-u-editor/lang/zh-cn/zh-cn.js',
    ];
    protected $view = 'admin.ueditor';
    public function render()
    {
        $this->script = <<<EOT
        UE.delEditor('$this->id');
        var ue_$this->id = UE.getEditor('$this->id');
        ue_$this->id.ready(function () {
            ue_$this->id.execCommand('serverparam', '_token', '{{ csrf_token() }}');
        });
EOT;
        return parent::render();
    }
}

新建视图文件 resources/views/admin/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')
        <script id="{{$id}}" type="text/plain" name="{{$name}}" style="width: 100%;height: 500px;">{!! htmlspecialchars_decode(old($column, $value)) !!}</script>
        @include('admin::form.help-block')
    </div>
</div>

然后注册进laravel-admin,在app/Admin/bootstrap.php中添加以下代码:

 <?php 
 use App\Admin\Extensions\UEditor;
 use Encore\Admin\Form;
 Form::extend('editor', UEditor::class);

调用:

 $form->ueditor('body','内容')->rules('required');

效果如:

blob.png

Comments (0)