详解在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 相关文章推荐
PHP数组实例总结与说明
Aug 23 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
PHP中new static() 和 new self() 的区别介绍
Jan 09 PHP
php中curl使用指南
Feb 05 PHP
php对文件进行hash运算的方法
Apr 03 PHP
php结合正则批量抓取网页中邮箱地址
May 19 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
Feb 07 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 PHP
在Laravel5中正确设置文件权限的方法
May 22 PHP
Laravel中GraphQL接口请求频率实战记录
Sep 01 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 16 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
天使彦史上最神还原,性别曝光的那一刻,百万网友恋爱了
2020/03/02 国漫
在php中使用sockets:从新闻组中获取文章
2006/10/09 PHP
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
javawscript 三级菜单的实现原理
2009/07/01 Javascript
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
Javascript小技巧之生成html元素
2014/05/15 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
JavaScript Date对象详解
2016/03/01 Javascript
Vue.js实现拖放效果的实例
2016/09/30 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
Angular2实现组件交互的方法分析
2017/12/19 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
Django中URLconf和include()的协同工作方法
2015/07/20 Python
Python自动化部署工具Fabric的简单上手指南
2016/04/19 Python
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
Python 的类、继承和多态详解
2017/07/16 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
最美乡村医生事迹材料
2014/06/02 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
解决hive中导入text文件遇到的坑
2021/04/07 Python
pandas中关于apply+lambda的应用
2022/02/28 Python