zoukankan      html  css  js  c++  java
  • 在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 = yiiootstrapActiveForm::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 yiiootstrapHtml::submitButton('提交',['class'=>'btn btn-info']);
    yiiootstrapActiveForm::end();

    最终页面效果

    以下是发布文章功能编写完成后的效果,是不是很炫?

    专注PHP领域驱动开发
  • 相关阅读:
    安卓测试工具uiautomator无法打开失败报错解决方案
    python2 与 python3的区别
    linux下自动获取并安装软件包 apt-get 的命令介绍
    安全测试常用几个工具
    常用安全测试工具
    实时爬取上海快3的结果
    性能测试监控工具nmon安装及使用方法
    locust性能测试框架随笔
    adb常用命令
    App性能测试
  • 原文地址:https://www.cnblogs.com/felixji/p/6698436.html
Copyright © 2011-2022 走看看