• yii2整合百度编辑器umeditor


    作者:白狼 出处:www.manks.top/article/yii2_umeditor 

    本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    实际工作中,难免不会遇到类似新闻呀,文章呀之类的开发工作,这就要求运营人员去发布啦,但是喃,有些个小伙伴为了省事呢,三下五除二,ok,上线了。人家运营的妹子一试用,哎呀呀,你这发布文章内容给我整了个大点的textarea就算完事啦,发布一篇新闻你想整死老娘不成。我们接下来就来聊聊Yii2框架是如何整合百度编辑器umeditor的。

    umeditor是啥,我只听过ueditor,你这umeditor是不是盗版的东东喃?umeditor呢,说白了就是mini版的ueditor,按照百度官方说法,其实就是编辑器中的"短软小",但是功能俱全。咳咳,咱们回归正题。

    首先勒,咱们先去官网下载一份mini版的ueditor umeditor,注意哦,是um editor

    下载下来解压放到项目根目录下面的 /css目录下 命名为umeditor,具体位置各位随意,后面能引用的到就行。

    第二步,我们先去扩展下backendassetsAppset类,哎呀我擦,为啥要扩展这么个玩意,跟咱们的umeditor整合啥关系勒,半路杀出个程咬金出来。这里扩展下这个类文件的意图是为了接下来在文件中方便引入css js文件滴。

    很简单,在Appset方法中增加下面两个方法即可

        //定义按需加载JS方法,注意加载顺序在最后  
        public static function addScript($view, $jsfile) {  
            $view->registerJsFile($jsfile, [AppAsset::className(), 'depends' => 'backendassetsAppAsset']);  
        }  
          
        //定义按需加载css方法,注意加载顺序在最后  
        public static function addCss($view, $cssfile) {  
            $view->registerCssFile($cssfile, [AppAsset::className(), 'depends' => 'backendassetsAppAsset']);  
        }

    接下来,按照下面的配置即可。

    先做说明,此处我们假设有一个文章article表,有一个内容content字段需要显示为百度编辑器。

    按照yii2的表单模型来看,我们修改article\_form.php文件中的content字段

    <?= $form->field($model, 'content')->textarea(['style' => '760px;height:500px;']) ?>

    该文件引入Appset类并引入相关的css js文件如下

        use backendassetsAppAsset;
        AppAsset::register($this);
        AppAsset::addCss($this,'/css/umeditor/themes/default/css/umeditor.css');
        AppAsset::addScript($this,'/css/umeditor/umeditor.config.js');
        AppAsset::addScript($this,'/css/umeditor/umeditor.min.js');
        AppAsset::addScript($this,'/css/umeditor/lang/zh-cn/zh-cn.js');

    然后只需要在当前页面底部注册下面的js代码即可实现

        <?php $this->beginBlock('js-block') ?>
            $(function () {
                var um = UM.getEditor('article-content', {
                });
            });
        <?php $this->endBlock() ?>
        <?php $this->registerJs($this->blocks['js-block'], yiiwebView::POS_END); ?>

    关于article-content怎么来滴喃,这个就是我们要绑定的目标对象,即contentarticle-content是当前该对象的id标识。

    ok,到此百度编辑器基本上整合完毕,现在赶快去添加一篇文章试试看吧,记得更新看看编辑器里面是否也有内容哦

  • 相关阅读:
    python_day16_闭包_装饰器
    高阶函数_递归函数_内置函数
    python_day14_函数_返回值_局部和全局变量
    python_day14_set_回到了python的学习
    grep_sed_awl_vim
    jQuery学习之选择器
    css3之其他的属性
    css3之响应式
    css3之各种布局
    css3之各种变形
  • 原文地址:https://www.cnblogs.com/wwolf/p/5412174.html
Copyright © 2020-2023  润新知