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

YII2框架中使用UEditor编辑器发布文章 ,具体如下:

创建文章数据表

文章数据表主要有4个字段
1.id  主键(int)
2.title 标题(varchar)
3.content 内容(text)
4.created_time 创建时间(int)

创建文章模型

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

  namespace backendmodels;  class Article extends yiidbActiveRecord  {    public function rules()    {      return [        [['title', 'content'], 'required'],      ];    }  public function attributeLabels()  {    return [      'id' => 'ID',      'title' => '名称',      'content' => '内容',    ];  }  }

创建控制器

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

  namespace backendcontrollers;    use backendmodelsArticle;    class ArticleController extends yiiwebController  {    /*     * 发布文章     */    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' => 'kuchaueditorUEditorAction',        'config' => [          "imageUrlPrefix" => "",//图片访问路径前缀          "imagePathFormat" => "/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}" //上传保存路径          "imageRoot" => Yii::getAlias("@webroot"),        ],      ]    ];  }

在视图中显示UEditor编辑器

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

  $form = yiibootstrapActiveForm::begin();  echo $form->field($article,'title');  echo $form->field($article,'content')->widget('kuchaueditorUEditor',[    '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 yiibootstrapHtml::submitButton('提交',['class'=>'btn btn-info']);  yiibootstrapActiveForm::end();
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论