详解在YII2框架中使用UEditor编辑器发布文章


Posted in PHP onNovember 02, 2018

本文介绍了详解在YII2框架中使用UEditor编辑器发布文章 ,分享给大家,具体如下:

创建文章数据表

 文章数据表主要有4个字段
1.id  主键(int)
2.title 标题(varchar)
3.content 内容(text)
4.created_time 创建时间(int)

创建文章模型

创建文章模型,不要忘记设置验证规则和字段的名称

namespace backend\models;
class Article extends \yii\db\ActiveRecord
{
public function rules()
{
  return [
    [['title', 'content'], 'required'],
  ];
}
public function attributeLabels()
{
  return [
    'id' => 'ID',
    'title' => '名称',
    'content' => '内容',
  ];
}
}

创建控制器

创建文章控制器并编写发布文章功能

namespace backend\controllers;

use backend\models\Article;

class ArticleController extends \yii\web\Controller
{
  /*
   * 发布文章
   */
  public function actionAdd()
  {
    $article = new Article();
    if($article->load(\Yii::$app->request->post()) && $article->validate()){
 $article->created_time = time();
      $article->save();  
      \Yii::$app->session->setFlash('success','文章添加成功');
      return $this->refresh();
    }

    return $this->render('add',['article'=>$article]);
  }
}

安装UEditor小部件

使用composer命令安装

composer require kucha/ueditor "*"

在控制器中定义处理上传文件的动作

在控制器中定义动作,用于处理UEditor上传的文件。

可以配置域名,上传路径,上传文件命名格式等等

public function actions()
{
  return [
    'upload' => [
      'class' => 'kucha\ueditor\UEditorAction',
      'config' => [
        "imageUrlPrefix" => "",//图片访问路径前缀
        "imagePathFormat" => "/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}" //上传保存路径
        "imageRoot" => Yii::getAlias("@webroot"),
      ],
    ]
  ];
}

在视图中显示UEditor编辑器

在视图表单中使用如下代码显示UEditor编辑器

$form = \yii\bootstrap\ActiveForm::begin();
echo $form->field($article,'title');
echo $form->field($article,'content')->widget('kucha\ueditor\UEditor',[
  'clientOptions' => [
    //编辑区域大小
    'initialFrameHeight' => '200',
    //设置语言
    'lang' =>'en', //中文为 zh-cn
    //定制菜单
    'toolbars' => [
      [
        'fullscreen', 'source', 'undo', 'redo', '|',
        'fontsize',
        'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'removeformat',
        'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|',
        'forecolor', 'backcolor', '|',
        'lineheight', '|',
        'indent', '|'
      ],
    ]
]);
echo \yii\bootstrap\Html::submitButton('提交',['class'=>'btn btn-info']);
\yii\bootstrap\ActiveForm::end();

最终页面效果

详解在YII2框架中使用UEditor编辑器发布文章

以下是发布文章功能编写完成后的效果,是不是很炫?希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
smarty实例教程
Nov 19 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
Jun 17 PHP
基于MySQL分区性能的详细介绍
May 02 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
Jun 27 PHP
CI框架实现cookie登陆的方法详解
May 18 PHP
php解决DOM乱码的方法示例代码
Nov 20 PHP
PHP单例模式详解及实例代码
Dec 21 PHP
详解Yii实现分页的两种方法
Jan 14 PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
yii2 上传图片的示例代码
Nov 02 #PHP
yii2实现Ueditor百度编辑器的示例代码
Nov 02 #PHP
php 调用百度sms来发送短信的实现示例
Nov 02 #PHP
Linux下 php7安装redis的方法
Nov 01 #PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
Oct 31 #PHP
php图片裁剪函数
Oct 31 #PHP
php+js实现裁剪任意形状图片
Oct 31 #PHP
You might like
php smarty模版引擎中的缓存应用
2009/12/11 PHP
PHP设计模式之责任链模式的深入解析
2013/06/13 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
详解PHP中websocket的使用方法
2016/09/15 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
vue一步步实现alert功能
2017/07/05 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
Python中除法使用的注意事项
2014/08/21 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
使用CSS3实现字体颜色渐变的实现
2020/08/10 HTML / CSS
css3利用transform变形结合事件完成扇形导航
2020/10/26 HTML / CSS
加拿大最大的相机店:Henry’s
2017/05/17 全球购物
关于廉洁的广播稿
2014/01/30 职场文书
体育口号大全
2014/06/18 职场文书
授权委托书公证
2014/09/14 职场文书
个人委托书怎么写
2014/09/17 职场文书
大学生党员自我评价
2015/03/04 职场文书
2015学校年度工作总结
2015/05/11 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
节约用水广告语60条
2019/11/14 职场文书
Python可视化学习之matplotlib内置单颜色
2022/02/24 Python
pytorch中的 .view()函数的用法介绍
2022/03/17 Python
redis数据一致性的实现示例
2022/03/18 Redis