详解在YII2框架中使用UEditor编辑器发布文章
时间:2022-07-27
本文章向大家介绍详解在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();
最终页面效果
以下是发布文章功能编写完成后的效果,是不是很炫?希望对大家的学习有所帮助,也希望大家多多支持网站事(zalou.cn)。
- java中如何初始化接口
- 你和PPT高手之间,就只差一个iSlide
- 如何在原生微信小程序中实现数据双向绑定
- 追溯 React Hot Loader 的实现
- 【推荐】开源项目minapp-重新定义微信小程序的开发
- 【完结汇总】iKcamp出品基于Koa2搭建Node.js实战共十一堂课(含视频)
- hadoop性能调优
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 规范与部署
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 错误处理
- DiscuzX v3.4 任意文件删除漏洞
- 系列3|走进Node.js之多进程模型
- Java中Arraylist与linkedlist的区别
- 手把手教你撸一个 Webpack Loader
- HashMap与HashTable区别
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法