在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();

最终页面效果

以下是发布文章功能编写完成后的效果,是不是很炫?

转载于:https://www.cnblogs.com/felixji/p/6698436.html

在YII2框架中使用UEditor编辑器发布文章相关推荐

  1. yii引入php文件,Yii2框架中CSS、JS文件引入要领_PHP开发框架教程

    在yii2中,因为yii2版本升级致使了,许多yii2的用法跟yii1有着很大的区分,这几天一直在view层的视图界面徜徉着,碰到什么问题呢? (引荐进修:yii框架) 问题就是搞不清我该怎样去引入C ...

  2. php 接收curl json数据格式,curl发送 JSON格式POST数据的接收,以及在yii2框架中的实现原理【精细剖析】...

    1.通过curl发送json格式的数据,譬如代码: function http_post_json($url, $jsonStr) { $ch = curl_init(); curl_setopt($ ...

  3. behavior php,YII2框架中behavior行为的理解与使用方法示例

    本文实例讲述了YII2框架中behavior行为的理解与使用方法.分享给大家供大家参考,具体如下: YII2中的行为说白了就是对组件功能的扩展,在不改变继承关系的条件下. 行为附加到组件后,行为将注入 ...

  4. YII2框架中 where limit offset 函数对分页的使用

    YII2框架中 where limit offset 函数对分页的使用 以前公司用的是TP框架,直接往limit函数里面传两个动态的参数就可以实现分页的效果了,刚换了公司这个公司用的是YII2 框架, ...

  5. 手工集成7牛SDK到YII2框架中

    手工集成7牛SDK到YII2框架中 7牛地址:qiniu.com 7牛云的产品列表中有:对象存储.自定义数据处理.多媒体处理.融合CDN加速.直播空间等资源. 我们上传图片文件需要的是『对象存储』,关 ...

  6. yii2框架中整合PHPOffice的PhpSpreadsheet开源库

    为什么80%的码农都做不了架构师?>>>    在所有的php office库(http://www.21doc.net/php/awesomephp#Office),以前用得最多的 ...

  7. yii2必须掌握php,Yii2框架中一些折磨人的坑

    说点闲话 距离上次写博客,已经有一年了.在动手写之前,总是带着深深的罪恶感.被它折磨许久,终于,还是,动手了. 值得庆祝的一件事:最近开始健身了.每天动感单车45分钟,游泳45分钟,真的是(生)爽(不 ...

  8. 开发中使用UEditor编辑器的注意事项

    最近在一个刚结束的一个项目中使用到了UEditor编辑器,下面总结一下遇到的问题以及使用时需要注意的地方: 1. 使用UEditor插件需要先对其进行路径配置: 在ueditor.config.js文 ...

  9. vue中使用Ueditor编辑器 -- 1

    一.   下载包: 从Ueditor的官网下载1.4.3.3jsp版本的Ueditor编辑器,官网地址为:http://ueditor.baidu.com/website/download.html ...

最新文章

  1. C#串口通信学习笔记
  2. JZOJ 3742. 【TJOI2014】上升子序列
  3. 做一个更好的A牌 从《Artifact》2.0看Valve的设计思路
  4. Linux新手必须掌握的命令(2)
  5. PLSQL Developer 安装与配置
  6. 搭建迁移训练Slim框架环境
  7. (已更新)婚礼类小程序前端界面模板源码
  8. 流畅的python mobi_流畅的Python中文pdf_Python教程
  9. amd linux raid,请问AMD RAID驱动怎么用
  10. BootStrap运行流程解析
  11. 合并两个有序链表js
  12. JavaSE经典编程题
  13. 吃货联盟订餐系统项目实践
  14. windows服务器上无法运行bat文件,ad域用户bat脚本运行不了
  15. 入网许可证_入网许可证怎么查询方法 入网许可证查询方法【图文演示】
  16. afrog 进阶篇(实战)
  17. 【java基础】运动员和教练
  18. 11 银河麒麟操作系统的安装
  19. hdu 4915 Parenthese sequence(贪心,模拟)
  20. 04: 邮件服务器部署 、 邮件收发应用

热门文章

  1. shell脚本参数$10问题
  2. java_ant详解
  3. 高才生的好帮手-Word2010(3)
  4. footer始终在页面最底部的方法(问题待检验)
  5. 概念的图解 —— 数学
  6. Python数据清理之解析XLRD文件
  7. elasticsearch-5.0.0初见
  8. POJ 2488 A Knight's Journey (棋盘DFS)
  9. UVA 103 Stacking Boxes 套箱子 DAG最长路 dp记忆化搜索
  10. 把button伪装成超链接