Yii2 redactor的使用

发布时间:2017-7-1 11:03:43编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Yii2 redactor的使用 ",主要涉及到Yii2 redactor的使用 方面的内容,对于Yii2 redactor的使用 感兴趣的同学可以参考一下。

1、安装

composer require --prefer-dist yiidoc/yii2-redactor "*"

 2、添加配置项

'modules' => [     'redactor' => [         'class' => 'yii\redactor\RedactorModule',         'uploadDir' => '上传目录',  // 比如这里可以填写 ./uploads        'uploadUrl' => '图片可访问地址',        'imageAllowExtensions'=>['jpg','png','gif']     ], ],

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

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

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

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

<?= \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\yiidoc\yii2-redactor\assets\plugins可以一睹风采

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

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

8、如果你想要对redactor进行配置或者扩展,可以参考redactor官网https://imperavi.com/redactor/docs/settings

9、前面操作顺利的小伙伴会发现 redactor这里的文件默认是上传到:uploadDir/Yii::$app->user->isGuest ? 'guest' : Yii::$app->user->id/ 目录下,这是不是不太好,假如我网站就一个管理员uid=1,上传了10000张图片,还岂不都放在 /uploadDir/1/目录下面了,下面我们来看看怎么简单的实现上传文件置于uploadDir/date('Ymd')目录下面去,也就是说我每天上传的都单独存放到一个文件夹里面去

  • 拷贝一份yii\redactor\RedactorModule.php文件到backend\components\目录下,目录你自己随便定好了,这里举个例子
  • 修改main.php文件redactor的class指向 这里修改为 'class' => 'backend\components\RedactorModule'
  • 打开backend\components\RedactorModule.php修改getOwnerPath方法,自己随便改就好了

getOwnerPath修改为如下,可参考

public function getOwnerPath(){    return date('Ymd');    // return Yii::$app->user->isGuest ? 'guest' : Yii::$app->user->id;}

参考地址:

http://www.manks.top/yii2-redactor.html

https://www.laravist.com/blog/post/programming-with-yii2-rich-text-input-with-redactor

http://www.yiichina.com/tutorial/1002


上一篇:设计模式解密(1)- 单例模式
下一篇:如何使用mysqldump命令导入导出数据库下的数据或表结构(远程or本地都适合)

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款