无论是blog还是商城其中都会使用到富文本编辑器,之前我都是直接在官网上下载直接引入到项目中,从师兄那里了解到laravel中已经可以嵌入u-editor的组件了,所以我按照师兄提供的攻略操作了一番,发现了一些问题,当然我没听话使用师兄提供的那个组件,我使用的是
stevenyangecho/laravel-u-editor这个。开发环境是ubuntu14.04+negix+php7.1+laravel5.3
安装这个组件的方法如下:(当然需要你有composer)
直接命令行:或者在composer.json中的require中插入"stevenyangecho/laravel-u-editor": "^1.4"
执行composer install或者composer update。组件成功迁入后执行如下配置。
打开框架下的config/app.php配置服务提供者
在providers下插入:Riverslei\UEditor\UEditorServiceProvider::class,
保存退出后在控制台执行运行
php artisan vendor:publish
这一切成功后你的项目目录下的config目录下会生成一个UEditorUpload.php文件,public目录下会生成一个目录laravel-u-editor。
UEditorUpload.php文件是组件文件上传的一个配置文件。里面必须配置的有如下内容:
// 'middleware' => 'auth',
'mode'=>'qiniu',//上传方式,local 为本地 qiniu 为七牛
//七牛配置,若mode='qiniu',以下为必填.
'qiniu'=>[
'accessKey'=>'accessKey',
'secretKey'=>'secretKey',
'bucket'=>'bucket',
'url'=>'url',//七牛分配的CDN域名,注意带上http://
]
文件内这些配置项都有相应的注释,我不做过多的解释,我使用的是七牛云存储只需要在mode这个键下填写‘qiniu’,然后把你七牛云存储上面的accessKey,secretKey,bucket,url全部配置上即可。
到这里都算正常,基本是按照师兄的思路来进行的。而且我也创建了一个控制器并在路由中指定控制器Route::get('/', 'TextController@index');
控制器中输出一个视图
视图中只需@include('UEditor::head')忘了说这个在框架的resources下也是刚才我们注册服务时自动生成的。我们的模板只需引入其即可接着我们插入表单即可。
另外插入这段JS可以调整文本框大小样式。
var ue = UE.getEditor('container', {
initialFrameWidth : 900,
initialFrameHeight : 350,
});
ue.ready(function() {
//此处为支持laravel5 csrf ,根据实际情况修改,目的就是设置 _token 值.
ue.execCommand('serverparam', '_token', '{{ csrf_token() }}');
});
截止目前为止该组件的大部分功能可以使用了,只有文件上传功能有问题,通过控制台来看,运行该组件时它会向我们的后台发送一次请求获取服务器状态,因为这次请求并没产生预期效果所以文件上传功能暂时不可用。于是我们还需要修改一下
public/laravel-u-editor/ueditor.config.js这个文件
找到这项配置// 服务器统一请求接口路径
, serverUrl: URL + "php/controller.php",修改其为, serverUrl: "/laravel-u-editor-server/server"
保存后刷新页面一切正常,所有文件统一上传至七牛云。
本教程大部分思路来自我师兄吕倡的微博:
http://www.blog8090.com/laravel-fu-wen-ben-cha-jian-ueditor/