微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

dedecms自定义模型内容调用多个Ueditor

原文链接http://www.cnblogs.com/xinhudong/p/10158973.html

关于Dedecms后台如何整合百度编辑器(ueditor)网上有很多了,本站就不再赘述了,主要问题是,涉及到如果有内容模型的修改,则按照网络上介绍的方法会发现有BUG。当修改认的文章模型或者其他模型,有添加自定义字段,字段类型是HTML格式或者文本保存HTML格式,当你发布或者编辑内容的时候,发现要么是只有一个编辑器出来,要么是一旦保存完内容再次打开编辑的时候,百度编辑器的内容都是一样的了。主要原因在于/include/inc/inc_fun_funAdmin.PHP 文件内实例化编辑器的时候出现JS和CSS引用重复的问题:

 

else if($GLOBALS['cfg_html_editor']=='ueditor1.4.3')
    {
        $fvalue = $fvalue=='' ? '<p></p>' : $fvalue;
        $code = '<script type="text/javascript" charset="utf-8" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor1.4.3/ueditor.config.js"></script>';
     $code .= '<script type="text/javascript" charset="utf-8" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor1.4.3/ueditor.all.min.js"></script>';
        $code .= '<link rel="stylesheet" type="text/css" href="'.$GLOBALS['cfg_cmspath'].'/include/ueditor1.4.3/themes/default/css/ueditor.css"/>';
        //$code .= '<textarea name="'.$fname.'" id="'.$fname.'" style="width:100%;">'.$fvalue.'</textarea>';
        $code .= '<script type="text/plain" name="'.$fname.'" id="'.$fname.'">'.$fvalue.'</script>';
        if( !empty($toolbar[$etype]))
        {
            $code .= '<script type="text/javascript">UE.getEditor("'.$fname.'",{toolbars:[["Source","|",
        "bold", "italic", "underline","|","fontsize","forecolor","emotion","Undo", "Redo"]],initialFrameHeight:100});</script>';
        }
        else
        {
            $code .= '<script type="text/javascript">UE.getEditor("'.$fname.'",{initialFrameHeight:450});</script>';
        }        
                                                                                                  
        if($gtype=="print")
        {
            echo $code;
        }
        else
        {
            return $code;
        }
    }

 

注意上面2个JS和CSS文件,当有ueditor实例化的时候他们就被引用一次,因此后一次的总会覆盖前面一次的。解决方法很简单,将上面3行代码从此处移走

 

<script type="text/javascript" charset="utf-8" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor1.4.3/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor1.4.3/ueditor.all.min.js"></script>
<link rel="stylesheet" type="text/css" href="'.$GLOBALS['cfg_cmspath'].'/include/ueditor1.4.3/themes/default/css/ueditor.css"/>

 放到/dede/templates/

article_add.htm
article_edit.htm
archives_add.htm
archives_edit.htm
catalog_add.htm
catalog_edit.htm

以上几个文件,及其他的文件的<head>里面,这样每次不管是添加还是编辑文章模型或者其他的自定义模型都不会出现问题了。需要注意的是,上面3行代码请全部换成纯静态地址,以免代码无效。

转载于:https://www.cnblogs.com/xinhudong/p/10158973.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐