详解在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 相关文章推荐
在PHP3中实现SESSION的功能(一)
Oct 09 PHP
phpmyadmin导入(import)文件限制的解决办法
Dec 11 PHP
php动态实现表格跨行跨列实现代码
Nov 06 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
PHP 实现explort() 功能的详解
Jun 20 PHP
php判断电脑访问、手机访问的例子
May 10 PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 PHP
如何使用php等比例缩放图片
Oct 12 PHP
php判断是否连接上网络的方法实例详解
Dec 14 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
Mar 01 PHP
PHP数组array类常见操作示例
May 15 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 日期时间处理函数小结
2009/12/18 PHP
php 文件上传实例代码
2012/04/19 PHP
PHP高手需要要掌握的知识点
2014/08/21 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
2015/10/26 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
js比较和逻辑运算符的介绍
2013/03/10 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
ES6学习教程之块级作用域详解
2017/10/09 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
JavaScript创建对象的常用方式总结
2018/08/10 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
web.py中调用文件夹内模板的方法
2014/08/26 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
Python实现分段线性插值
2018/12/17 Python
基于h5py的使用及数据封装代码
2019/12/26 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
Django Auth用户认证组件实现代码
2020/10/13 Python
用python查找统一局域网下ip对应的mac地址
2021/01/13 Python
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
工作粗心大意检讨书
2014/09/18 职场文书
罗马假日观后感
2015/06/08 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏