详解在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之第八天
Oct 09 PHP
php录入页面中动态从数据库中提取数据的实现
Oct 09 PHP
PHP中的CMS的涵义
Mar 11 PHP
php download.php实现代码 跳转到下载文件(response.redirect)
Aug 26 PHP
PHP中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 PHP
php把数组值转换成键的方法
Jul 13 PHP
php实现评论回复删除功能
May 23 PHP
Laravel框架实现redis集群的方法分析
Sep 14 PHP
laravel 框架配置404等异常页面
Jan 07 PHP
PHP回调函数简单用法示例
May 08 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文件操作的详细诠释
2013/06/21 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
Bootstrap被封装的弹层
2016/07/20 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
python实现的MySQL增删改查操作实例小结
2018/12/19 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
2020/03/25 Python
Python collections.defaultdict模块用法详解
2020/06/18 Python
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
西安夏日科技有限公司Java笔试题
2013/01/11 面试题
综合素质的自我鉴定
2013/10/07 职场文书
网络书店创业计划书
2014/02/07 职场文书
美化环境标语
2014/06/20 职场文书
社团活动总结模板
2014/06/30 职场文书
承诺书样本
2014/08/30 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
《兰兰过桥》教学反思
2016/02/20 职场文书
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis