php教程

超轻量级php框架startmvc

详解在YII2框架中使用UEditor编辑器发布文章

更新时间:2020-03-31 14:39:13 作者:startmvc
本文介绍了详解在YII2框架中使用UEditor编辑器发布文章,分享给大家,具体如下:创建文章

本文介绍了详解在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编辑器 YII2 UEditor编辑器