详解在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 相关文章推荐
第1次亲密接触PHP5(2)
Oct 09 PHP
PHP新手上路(二)
Oct 09 PHP
php5编程中的异常处理详细方法介绍
Jul 29 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 PHP
PHP使用ob_start生成html页面的方法
Nov 07 PHP
php打印输出棋盘的实现方法
Dec 23 PHP
简单谈谈PHP面向对象之标识对象
Jun 27 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 PHP
详解php命令注入攻击
Apr 06 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
Apr 12 PHP
PHP面向对象程序设计之对象的遍历操作示例
Jun 12 PHP
PHP autoload使用方法及步骤详解
Sep 05 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微信公众平台开发类实例
2015/04/01 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
jquery 事件执行检测代码
2009/12/09 Javascript
JS 实现完美include载入实现代码
2010/08/05 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
jquery加载图片时以淡入方式显示的方法
2015/01/14 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
原生js实现模拟滚动条
2015/06/15 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
JS实现禁止鼠标右键的功能
2016/10/15 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
Django实现自定义404,500页面教程
2017/03/26 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
Python 项目转化为so文件实例
2019/12/23 Python
python实现跨年表白神器--你值得拥有
2021/01/04 Python
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
交通法规咨询中心工作职责
2013/11/27 职场文书
小学二年级学生评语
2014/04/21 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
小学班主任工作随笔
2015/08/15 职场文书