浅析Yii2集成富文本编辑器redactor实例教程


Posted in PHP onApril 25, 2016

在上篇文章给大家介绍了如何在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前面的分号即可

以上所述是小编给大家介绍的Yii2集成富文本编辑器redactor实例教程,希望对大家有所帮助!

PHP 相关文章推荐
php与XML、XSLT、Mysql的结合运用实现代码
Nov 19 PHP
抓取并下载CSS中所有图片文件的php代码
Sep 26 PHP
PHP教程之PHP中shell脚本的使用方法分享
Feb 23 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
Dec 11 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
May 04 PHP
php调用shell的方法
Nov 05 PHP
PHP实现获取域名的方法小结
Nov 05 PHP
PHP魔术方法__GET、__SET使用实例
Nov 25 PHP
PHP+Apache+Mysql环境搭建教程
Aug 01 PHP
详解php中 === 的使用
Oct 24 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
Mar 18 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
Aug 13 PHP
Yii2增加验证码步骤详解
Apr 25 #PHP
Yii实现显示静态页的方法
Apr 25 #PHP
mysql_escape_string()函数用法分析
Apr 25 #PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 #PHP
PHP引用的调用方法分析
Apr 25 #PHP
PHP常见错误提示含义解释(实用!值得收藏)
Apr 25 #PHP
使用ltrace工具跟踪PHP库函数调用的方法
Apr 25 #PHP
You might like
php 抽象类的简单应用
2011/09/06 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
php实现微信支付之现金红包
2018/05/30 PHP
javascript web对话框与弹出窗口
2009/02/22 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
2012/12/04 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
node.js中的fs.rmdirSync方法使用说明
2014/12/16 Javascript
Position属性之relative用法
2015/12/14 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
vuejs实现折叠面板展开收缩动画效果
2018/09/06 Javascript
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
vue a标签点击实现赋值方式
2020/09/07 Javascript
python实现进程间通信简单实例
2014/07/23 Python
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
横向对比分析Python解析XML的四种方式
2016/03/30 Python
Python的Asyncore异步Socket模块及实现端口转发的例子
2016/06/14 Python
python将unicode转为str的方法
2017/06/21 Python
flask中的wtforms使用方法
2018/07/21 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
python进行参数传递的方法
2020/05/12 Python
python 5个实用的技巧
2020/09/27 Python
产品销售员岗位职责
2013/12/18 职场文书
应届实习生的自我评价范文
2014/01/05 职场文书
品牌服务方案
2014/06/03 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书
小兵张嘎观后感
2015/06/03 职场文书
SpringBoot生成License的实现示例
2021/06/16 Java/Android