详解在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 相关文章推荐
substr()函数中文版
Oct 09 PHP
输出控制类
Oct 09 PHP
一个典型的PHP分页实例代码分享
Jul 28 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
May 08 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
Jul 18 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
Yii视图CGridView实现操作按钮定义地址示例
Jul 14 PHP
PHP+Ajax实现的检测用户名功能简单示例
Feb 12 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
Jun 14 PHP
PHP常用函数之base64图片上传功能详解
Oct 21 PHP
laravel使用数据库测试注意事项
Apr 10 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的ajax框架xajax入门与试用介绍
2010/12/19 PHP
PHP导入Excel到MySQL的方法
2011/04/23 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
点击页面其它地方隐藏该div的两种思路
2013/11/18 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
JavaScript里 ==与===区别详解
2016/08/16 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
将angular-ui的分页组件封装成指令的方法详解
2017/05/10 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
vue 2.8.2版本配置刚进入时候的默认页面方法
2018/09/21 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
详解小程序之简单登录注册表单验证
2019/05/13 Javascript
JS数组的高级使用方法示例小结
2020/03/14 Javascript
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
python实现各进制转换的总结大全
2017/06/18 Python
python如何让类支持比较运算
2018/03/20 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
Python3.4解释器用法简单示例
2019/03/22 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
python tqdm库的使用
2020/11/30 Python
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
关工委先进个人事迹材料
2014/05/23 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
超强台风观后感
2015/06/09 职场文书
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技