扣丁学堂PHP培训详解如何在YII2框架中使用UEditor编辑器发布文章

2019-04-25 10:25:02 1787浏览

本篇文章扣丁学堂PHP培训小编给读者们详解一下如何在YII2框架中使用UEditor编辑器发布文章,对PHP开发技术感兴趣或者是想要参加PHP培训学习的小伙伴们就随小编来了解一下吧。

扣丁学堂PHP培训详解如何在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();

最终页面效果:


PHP学习



想要了解更多关于PHP开发方面内容的小伙伴,请关注扣丁学堂PHP培训官网、微信等平台,扣丁学堂IT职业在线学习教育有专业的PHP讲师为您指导,此外扣丁学堂老师精心推出的PHP视频教程定能让你快速掌握PHP从入门到精通开发实战技能。扣丁学堂PHP技术交流群:374332265。


扣丁学堂微信公众号                          Python全栈开发爬虫人工智能机器学习数据分析免费公开课直播间


【关注微信公众号获取更多学习资料】         【扫码进入Python全栈开发免费公开课】




查看更多关于“php培训资讯”的相关文章>>



标签: PHP培训 PHP基础教程 PHP学习视频 PHP教学视频 PHP入门教程 PHP教程视频 PHP在线学习 PHP在线视频 PHP在线教程 扣丁学堂PHP培训

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号