yii2 html编辑器,详解在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();

最终页面效果

9d3565697202cfc68e41b3a139a4a39b.png

以下是发布文章功能编写完成后的效果,是不是很炫?希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值