当前位置:编程学习 > html/css >>

为织梦dedecms不同页面中百度ueditor编辑器设置不同宽度

       相信正在使用织梦dedecms作为网站管理程序的站长朋友对织梦自带的ckeditor编辑器一定感到非常纠心:其难看的外观,不太好用的添加视频功能,超级弱智的图片上传项,就连按个"tab"键都要跳出编辑框...这些无不让我们对其深恶痛绝(可能说得有点夸张)!

       本人最近开了一个新站,最初因为这个ckeditor编辑器给编辑工作带来了诸多不便,所以最后痛下决心:改成百度ueditor。

       为什么改成ueditor而不是别的编辑器呢?原因主要有三点:

       一、ueditor界面相当美观,用起来舒服;

       二、功能强悍,比如图片上传功能:它支持批量上传,图片搜索,还有非常不错的图片管理器;再比如视频添加功能:直接填写优酷土豆等视频网址即可,不用像ckeditor那样非常麻烦地去找".swf"的flash地址;

       三、基于百度雄厚的实力,相信这个ueditor功能也会越来越强大。

      是不是心动了?想体验ueditor的朋友可以去我的小创意网(www.smallcy.com)看看,相信会带给你不错的体验。

      不过ueditor装上后也不是马上就能用的(至于怎么安装,大家可以在官方论坛上找),一般都会存在一些小问题。下面我就来谈谈其中一个非常重要的问题的解决方案。

       安装完ueditor后,我们可以在ueditor的配置文件中对其界面宽度进行设置,但问题就出在这里,在这里设置的宽度是对全局而言,即所有网站内的编辑器宽度都一样。但对于我们dedecms用户而言,一般前台和后台编辑器宽度不一致,这样就会造成编辑器越界的问题。解决方案:将ueditor宽度设置放在编辑器调用阶段,具体做法如下:

1. /include/helpers/util.helper.php中增加以下代码:

if ( ! function_exists('GetEditorD'))

{

    function GetEditorD($fname, $fvalue, $nheight="350", $etype="Basic", $gtype="print", $isfullpage="FALSE",$bbcode=false)

    {

        if(!function_exists('SpGetEditorD'))

        {

            require_once(DEDEINC."/inc/inc_fun_funAdmin.php");

        }

        return SpGetEditorD($fname, $fvalue, $nheight, $etype, $gtype, $isfullpage, $bbcode);

    }

}

2. /include/inc/inc_fun_funAdmin.php中增加以下代码:

function SpGetEditorD($fname,$fvalue,$nheight="350",$etype="Basic",$gtype="print",$isfullpage="false",$bbcode=false)

{

    global $cfg_ckeditor_initialized;

    if(!isset($GLOBALS['cfg_html_editor']))

    {

        $GLOBALS['cfg_html_editor']='fck';

    }

    if($gtype=="")

    {

        $gtype = "print";

    }

    if($GLOBALS['cfg_html_editor']=='fck')

    {

        require_once(DEDEINC.'/FCKeditor/fckeditor.php');

        $fck = new FCKeditor($fname);

        $fck->BasePath        = $GLOBALS['cfg_cmspath'].'/include/FCKeditor/' ;

        $fck->Width        = '100%' ;

        $fck->Height        = $nheight ;

        $fck->ToolbarSet    = $etype ;

        $fck->Config['FullPage'] = $isfullpage;

        if($GLOBALS['cfg_fck_xhtml']=='Y')

        {

            $fck->Config['EnableXHTML'] = 'true';

            $fck->Config['EnableSourceXHTML'] = 'true';

        }

        $fck->Value = $fvalue ;

        if($gtype=="print")

        {

            $fck->Create();

        }

        else

        {

            return $fck->CreateHtml();

        }

    }

    else if($GLOBALS['cfg_html_editor']=='ckeditor')

    {

        require_once(DEDEINC.'/ckeditor/ckeditor.php');

        $CKEditor = new CKEditor();

        $CKEditor->basePath = $GLOBALS['cfg_cmspath'].'/include/ckeditor/' ;

        $config = $events = array();

        $config['extraPlugins'] = 'dedepage,multipic,addon';

          if($bbcode)

          {

               $CKEditor->initialized = true;

               $config['extraPlugins'] .= ',bbcode';

               $config['fontSize_sizes'] = '30/30%;50/50%;100/100%;120/120%;150/150%;200/200%;300/300%';

               $config['disableObjectResizing'] = 'true';

               $config['smiley_path'] = $GLOBALS['cfg_cmspath'].'/images/smiley/';

               // 获取表情信息

               require_once(DEDEDATA.'/smiley.data.php');

               $jsscri

补充:web前端 , HTML/CSS  ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,