白狼栈 2016-04-24 10:29:07 3323次浏览 9条评论 9 2 0

作者:白狼 出处:http://www.manks.top/article/yii2_redactor本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

前面我们说过如何在yii2中集成百度编辑器umeditor以及如何解决umeditor上传图片问题
今天我们来谈谈yii2集成另外一个强大好用的富文本编辑器Redactor,个人觉得redactor比百度编辑器好用哦

Redactor有官方的Yii2插件package,实用性也是很强的。

首先我们不急不躁,先进行安装Redactor。

可以参考 https://github.com/yiidoc/yii2-redactor 进行安装。有很多新手看不惯英文哈,如果你点击了链接参考了github上的安装,希望你再回来看看在整个安装过程中都要哪些必要的注意点。

1、我们跟他们一样,利用composer安装即可。

2、添加配置项

'modules' => [ 
    'redactor' => [ 
        'class' => 'yii\redactor\RedactorModule', 
        'uploadDir' => '上传目录', 
        'uploadUrl' => '图片可访问地址', 
        'imageAllowExtensions'=>['jpg','png','gif'] 
    ], 
],

第一个注意点,默认的上传文件保存在根目录下的uploads,如果你想更换文件的保存目录,修改配置项 uploadDir即可,同时你需要修改uploadUrl保证图片可访问。

3、如果你的view是ActiveField类型,下面的配置适用你

<?= $form->field($model, 'content')->widget(\yii\redactor\widgets\Redactor::className()) ?>

但是如果你的表单不是用yii自带的组建生成的,你应该像下面这样配置

<?= \yii\redactor\widgets\Redactor::widget([ 'model' => $model, 'attribute' => 'content' ]) ?>

4、其中上传类用的是redactor一套,但是你说你的上传类需要重写,也可以,只需要像下面这样加几个配置即可

<?= $form->field($model, 'content')->widget(\yii\redactor\widgets\Redactor::className(), [ 
    'clientOptions' => [ 
        'imageManagerJson' => ['/redactor/upload/image-json'], 
        'imageUpload' => ['/redactor/upload/image'], 
        'fileUpload' => ['/redactor/upload/file'], 
        'lang' => 'zh_cn', 
        'plugins' => ['clips', 'fontcolor','imagemanager'] 
    ] 
]) ?>

5、配置语言或者插件,像第四步一样,在clientOptions项中添加lang和plugins配置项即可,如果你想问都有哪些plugins,打开目录\vendor\yii2-redactor\assets\plugins可以一睹风采。

6、图片上传注意了,因为redactor是以模块进行引入的,如果你的项目含有权限管理,记得添加权限哦。

7、忘记了一个大前提,保证你的php支持fileinfo扩展。打开php.ini文件去掉fileinfo前面的分号即可

redactor yii2 富文本编辑器 get 参数 控制器
  • 评论于 2016-05-06 15:11 举报

    请问一下这个是什么原因呢?
    Class 'yii\redactor\widgets\Redactor' not found

    为什么找不到类呢?

    1 条回复
    评论于 2016-05-07 08:16 回复

    你没安装好

  • 评论于 2016-05-09 18:00 举报

    vendor 里面 已经增加了 , yiidoc 这个目录, 里面文件也是完整的。 一直提示 找不到类。
    有点纠结。

    1 条回复
    评论于 2016-05-09 18:05 回复

    \vendor\yiidoc\yii2-redactor\widgets里面有这个类吗

  • 评论于 2016-05-09 18:08 举报

    widgets 是个目录 下面 包含 Redactor.php 和 RedactorAsset.php
    文件

    4 条回复
    评论于 2016-05-09 19:09 回复

    \yii\redactor\widgets\Redactor 你是不是最前面少写了一个斜杠 \

    评论于 2016-05-10 10:43 回复

    这个都检查过的,我怀疑 是配置问题了。我现在用的是 baisc 的。

    评论于 2016-11-03 13:28 回复

    我的也是Class 'yii\redactor\widgets\Redactor' not found。请问你解决了没有,怎么解决的!

    评论于 2016-11-03 15:42 回复

    好了,重安装了一次

  • 评论于 2016-06-27 09:45 举报

    我上传图片总提示403forbidden 错误,我在web下新建的uploads文件夹权限都有的,请问还需要设置哪里的权限呢?

    3 条回复
    评论于 2017-01-05 12:34 回复

    我也是这个问题,给你个建议,给redactor放个权限,我搞定了

    评论于 2017-01-05 12:40 回复

    403是没有访问的权限,如果设置了rbac或者acf,开放权限就好

    评论于 2017-01-05 12:45 回复

    搞定了。嘿嘿,我发现了

  • 评论于 2016-07-04 14:18 举报

    如果 不是composer安装的插件 需要怎么配置才能用勒?

    1 条回复
    评论于 2016-07-22 15:02 回复

    composer安装不了,直接下的源码,一直报错Class 'yii\redactor\widgets\Redactor' not found

  • 评论于 2016-07-13 10:34 举报

    3.jpg

  • 评论于 2016-08-19 13:41 举报

    如果我的图片是上传到别的服务器 那还可以正常用不?

    1 条回复
    评论于 2016-08-20 14:31 回复

    可以用,要设置s3就好

  • 评论于 2016-09-27 10:21 举报

    上传图片之后总是提示出一个 true,fileinfo也开了,路径也配置了。最后发现有个301重定向的问题,然后设置urlManager里面的enablePrettyUrl为false就能正常访问了,
    看github的issues里面有人说添加一个规则:
    'rules' => [

                 '<controllers:\w+>/redactor' => '/redactor/upload/image',
            ],
    

    但在我这还是不管用,头疼

    1 条回复
    评论于 2017-01-30 16:12 回复

    我也是的呢

  • 评论于 2016-11-03 15:53 举报

    编辑器上面小图标悬停后出现的文字在哪改?

您需要登录后才可以评论。登录 | 立即注册
在线
883