当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-01 14:42:45 浏览: 评论:0 

这篇文章主要介绍了在YII2框架中使用UEditor编辑器发布文章,小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧

本文介绍了详解在YII2框架中使用UEditor编辑器发布文章 ,分享给大家,具体如下:

创建文章数据表

文章数据表主要有4个字段

1.id  主键(int)

2.title 标题(varchar)

3.content 内容(text)

4.created_time 创建时间(int)

创建文章模型

创建文章模型,不要忘记设置验证规则和字段的名称

  1. namespace backend\models; 
  2. class Article extends \yii\db\ActiveRecord 
  3. { 
  4.   public function rules() 
  5.   { 
  6.     return [ 
  7.       [['title', 'content'], 'required'], 
  8.     ]; 
  9.   } 
  10. public function attributeLabels() 
  11. { 
  12.   return [ 
  13.     'id' => 'ID', 
  14.     'title' => '名称', 
  15.     'content' => '内容', 
  16.   ]; 
  17. } 
  18. } 

创建控制器

创建文章控制器并编写发布文章功能

  1. namespace backend\controllers; 
  2.  
  3. use backend\models\Article; 
  4.  
  5. class ArticleController extends \yii\web\Controller 
  6. { 
  7.   /* 
  8.    * 发布文章 
  9.    */ 
  10.   public function actionAdd() 
  11.   { 
  12.     $article = new Article(); 
  13.     if($article->load(\Yii::$app->request->post()) && $article->validate()){ 
  14.        $article->created_time = time(); 
  15.       $article->save();   
  16.       \Yii::$app->session->setFlash('success','文章添加成功'); 
  17.       return $this->refresh(); 
  18.     } 
  19.  
  20.     return $this->render('add',['article'=>$article]); 
  21.   } 
  22. } 

安装UEditor小部件

使用composer命令安装

composer require kucha/ueditor "*"

在控制器中定义处理上传文件的动作

在控制器中定义动作,用于处理UEditor上传的文件。

可以配置域名,上传路径,上传文件命名格式等等

  1. public function actions() 
  2. { 
  3.   return [ 
  4.     'upload' => [ 
  5.       'class' => 'kucha\ueditor\UEditorAction', 
  6.       'config' => [ 
  7.         "imageUrlPrefix" => "",//图片访问路径前缀 
  8.         "imagePathFormat" => "/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}" //上传保存路径 
  9.         "imageRoot" => Yii::getAlias("@webroot"), 
  10.       ], 
  11.     ] 
  12.   ]; 
  13. } 

在视图中显示UEditor编辑器

在视图表单中使用如下代码显示UEditor编辑器

  1. $form = \yii\bootstrap\ActiveForm::begin(); 
  2. echo $form->field($article,'title'); 
  3. echo $form->field($article,'content')->widget('kucha\ueditor\UEditor',[ 
  4.   'clientOptions' => [ 
  5.     //编辑区域大小 
  6.     'initialFrameHeight' => '200', 
  7.     //设置语言 
  8.     'lang' =>'en', //中文为 zh-cn 
  9.     //定制菜单 
  10.     'toolbars' => [ 
  11.       [ 
  12.         'fullscreen', 'source', 'undo', 'redo', '|', 
  13.         'fontsize', 
  14.         'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'removeformat', 
  15.         'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 
  16.         'forecolor', 'backcolor', '|', 
  17.         'lineheight', '|', 
  18.         'indent', '|' 
  19.       ], 
  20.     ] 
  21. ]); 
  22. echo \yii\bootstrap\Html::submitButton('提交',['class'=>'btn btn-info']); 
  23. \yii\bootstrap\ActiveForm::end();

Tags: YII2框架 UEditor

分享到: