今天就跟大家聊聊有关怎么在YII2框架中利用UEditor编辑器发布文章,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创建文章模型
创建文章模型,不要忘记设置验证规则和字段的名称
namespacebackend\models;
classArticleextends\yii\db\ActiveRecord
{
publicfunctionrules()
{
return[
[['title','content'],'required'],
];
}
publicfunctionattributeLabels()
{
return[
'id'=>'ID',
'title'=>'名称',
'content'=>'内容',
];
}
}
创建控制器
创建文章控制器并编写发布文章功能
namespacebackend\controllers;
usebackend\models\Article;
classArticleControllerextends\yii\web\Controller
{
/*
*发布文章
*/
publicfunctionactionAdd()
{
$article=newArticle();
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命令安装
composerrequirekucha/ueditor"*"
在控制器中定义处理上传文件的动作
在控制器中定义动作,用于处理UEditor上传的文件。
可以配置域名,上传路径,上传文件命名格式等等
publicfunctionactions()
{
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'=>'btnbtn-info']);
\yii\bootstrap\ActiveForm::end();
看完上述内容,你们对怎么在YII2框架中利用UEditor编辑器发布文章有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注恰卡编程网行业资讯频道,感谢大家的支持。