详解在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强制下载类型的实现代码
Apr 21 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
Aug 23 PHP
thinkphp模板用法和内容输出实例
Nov 28 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
php将access数据库转换到mysql数据库的方法
Dec 24 PHP
php定义一个参数带有默认值的函数实例分析
Mar 16 PHP
PHP常用的排序和查找算法
Aug 06 PHP
理解PHP中的Session及对Session有效期的控制
Jan 08 PHP
mysql alter table命令修改表结构实例详解
Sep 24 PHP
CI框架无限级分类+递归的实现代码
Nov 01 PHP
Smarty日期时间操作方法示例
Nov 15 PHP
PHP读取、解析eml文件及生成网页的方法示例
Sep 04 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将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
JS location几个方法小姐
2008/07/09 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
document.createElement()用法
2013/03/13 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
关于JavaScript命名空间的一些心得
2014/06/07 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
jQuery实现查看图片功能
2020/12/01 jQuery
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
Python实现基本线性数据结构
2016/08/22 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
Python读取表格类型文件代码实例
2020/02/17 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
捷科时代的软件测试笔试题
2015/11/09 面试题
三爱活动实施方案
2014/03/19 职场文书
爽歪歪广告词
2014/03/20 职场文书
会计专业应届生自荐信
2014/06/28 职场文书
学校周年庆活动方案
2014/08/22 职场文书
简易离婚协议书范本2014
2014/10/15 职场文书
行政处罚听证告知书
2015/07/01 职场文书
护理心得体会范文
2016/01/22 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
使用Pytorch训练two-head网络的操作
2021/05/28 Python
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis
python热力图实现的完整实例
2022/06/25 Python
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers