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

244

相信正在使用织梦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');

$jsscript = array();

foreach($GLOBALS['cfg_smileys'] as $key=>$val)

{

$config['smiley_images'][] = $val[0];

$config['smiley_descriptions'][] = $val[3];

$jsscript[] = '"'.$val[3].'":"'.$key.'"';

}

$jsscript = implode(',', $jsscript);

echo jsscript('CKEDITOR.config.ubb_smiley = {'.$jsscript.'}');

}

 

$GLOBALS['tools'] = empty($toolbar[$etype])? $GLOBALS['tools'] : $toolbar[$etype] ;

$config['toolbar'] = $GLOBALS['tools'];

$config['height'] = $nheight;

$config['skin'] = 'kama';

$CKEditor->returnOutput = TRUE;

$code = $CKEditor->editor($fname, $fvalue, $config, $events);

if($gtype=="print")

{

echo $code;

}

else

{

return $code;

}

}else if($GLOBALS['cfg_html_editor']=='ueditor')

{

$fvalue = $fvalue=='' ? '<p></p>' : $fvalue;

$code = '<script type="text/javascript" charset="gbk" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/editor_config.js"></script>

<script type="text/javascript" charset="gbk" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/editor_all_min.js"></script>

<link rel="stylesheet" type="text/css" href="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/themes/default/ueditor.css"/>

<textarea name="'.$fname.'" id="'.$fname.'" style="width:100%;">'.$fvalue.'</textarea>

<script type="text/javascript">

var ue = new baidu.editor.ui.Editor({ initialFrameWidth:824 });ue.render("'.$fname.'"); //红色处为修改宽度

</script>';

if($gtype=="print")

{

echo $code;

}

else

{

return $code;

}

}

 

else {

/*

// ------------------------------------------------------------------------

// 当前版本,暂时取消dedehtml编辑器的支持

// ------------------------------------------------------------------------

require_once(DEDEINC.'/htmledit/wmd_editor.php');

$ded = new DedeEditor($fname);

$ded->BasePath = $GLOBALS['cfg_cmspath'].'/include/htmledit/' ;

$ded->Width = '100%' ;

$ded->Height = $nheight ;

$ded->ToolbarSet = strtolower($etype);

$ded->Value = $fvalue ;

if($gtype=="print")

{

$ded->Create();

}

else

{

return $ded->CreateHtml();

}

*/

}

}

3. 在编辑器调取页面将以下代码:

<?php GetEditor("body","",350,"Member"); ?>

改为:

<?phpGetEditorD("body","",350,"Member"); ?>

以上方案的思想是:在不同界面使用不同的编辑器调用函数。

当然你可以根据需要对以上代码进行删改,还有什么问题可以去小创意网(www.smallcy.com)咨询。

The End
编辑器

相关推荐

dedecms修改后台编辑器参数GetEditor的方法
dedecms修改后台编辑器参数GetEditor dedecms通过include/helpers/util.helper.php function GetEditor($fname, $fvalue, $nheight=350, $etype=Basic, $gtype=print, $isfullpage=FALSE) 函数调用文本编辑器,个个参数可参考该方法的注释信息, * 获取编辑器...
2021-03-27 dedecms安装使用
96

织梦{wmd:field name='softlinks'/}新窗口打开链接的方法
使用dede软件下载频道通过{wmd:field name=softlinks/}调用的链接,当我们打开链接的时候是直接在当前窗口打开,要返回去比较困难,我们要在新窗口打开这个链接该如何操作呢? 我们首先找到 /templets/system/channel_downlinkpage.htm这个文件 ,用编辑器...
2021-03-15 dedecms安装使用
185

织梦后台发布文章编辑器不显示的解决办法
编辑器不显示: 一直不加载空白,发现是include/fck目录丢失了一个文件了,把官方程序压缩包的文件复制过去就解决了。 加截慢过慢: 编辑器位置 404 无法显示网页 出现404就是路径问题了,也有可能是linux中在目录上是区分大小的哦,这个改一下大小写即可了。...
2021-03-02 dedecms安装使用
211

织梦cms怎么在编辑器中插入外部视频
很多朋友经常问跟版网的小编,要怎么在文档中插入视频,下面小编以优酷为例为大家做一个教程。 1、首先打开优酷视频网站,找到需要插入的视频,在视频左下角有一个分享,鼠标划过时候会显示复制通用代码,如下图所示,我们复制这行代码: 2、到织梦后台打开...
2019-10-25 dedecms安装使用
203

DEDECMS数据库配置文件在哪个目录?如何进行配置和修改
有的朋友更换dede空间,dede数据库时,需要修改数据库配置.如数据库前缀,数据库名等. 那dede数据库配置文件在哪里找呢? dede数据库配置文件所在路径为:/data/common.inc.php 修改方法: 把这个文件使用ftp下载下来,用无bom格式的编辑器进行编辑,比如notepad++...
2019-10-16 dedecms安装使用
188

织梦dedecms更换成kindeditor后出现乱码和栏目内容无法保存的解决办法
kindeditor编辑器简单方便,比织梦原来的ckeditor要好用的多。想要修改的方法很简单:去下这个插件文档。 安装方法也简单! [系统]-[核心设置],在Html编辑器(ckeditor,需要fck的用户可以去官网下载)中设置:kindeditor 但用5.7的朋友可能会发现有乱码现象...
2019-03-09 dedecms安装使用
119