如何在织梦dedecms的不同页面上为百度ueditor编辑器设置不同的宽度?

在织梦dedecms中,为不同页面的百度ueditor编辑器设置不同宽度,可以通过修改模板文件实现。具体操作如下:,,1. 打开织梦dedecms的后台,找到需要修改的模板文件。,2. 编辑模板文件,找到百度ueditor编辑器的相关代码。,3. 根据需求,为不同页面的百度ueditor编辑器设置不同的宽度。可以在代码中添加一个判断条件,根据当前页面的ID或别名来设置不同的宽度。,4. 保存修改后的模板文件,并更新缓存。,5. 刷新前台页面,查看效果。,,注意:在修改模板文件时,请确保备份原文件,以防万一出现问题可以恢复。

在织梦dedecms中,百度ueditor编辑器的宽度设置通常会影响到网站的前台和后台的编辑体验,默认情况下,ueditor的宽度是全局统一的,这可能会导致前台和后台编辑器宽度不一致的问题,为了解决这一问题,可以通过修改代码来实现不同页面使用不同的编辑器宽度配置。

如何在织梦dedecms的不同页面上为百度ueditor编辑器设置不同的宽度?

实现步骤

1、复制并重命名配置文件

找到并复制/include/ueditor/editor_config.js文件,然后将其重命名为/include/ueditor/editor_config1.js

这一步的目的是创建一个新的配置文件,以便为不同的页面应用不同的配置。

2、修改util.helper.php

/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);
         }
     }

这段代码定义了一个新函数GetEditorD,用于获取编辑器的配置。

3、修改inc_fun_funAdmin.php

/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/css/ueditor.css"/>';
             echo $code;
         }
     }

这段代码主要是根据不同的编辑器类型(如fckeditor、ckeditor和ueditor)来加载相应的配置,并允许设置编辑器的宽度。

注意事项

在修改配置文件之前,建议先备份原始文件,以防万一出现问题可以恢复。

确保你的网站已经安装了百度ueditor编辑器,并且能够正常工作。

根据你的具体需求,你可能需要调整编辑器的其他配置,如高度、工具栏类型等。

FAQs

1、如何在dedecms中为不同的页面设置不同的ueditor编辑器宽度?

你可以通过上述步骤,在util.helper.phpinc_fun_funAdmin.php文件中添加或修改代码,以实现在不同页面中使用不同的编辑器宽度配置,你可以在调用编辑器的时候指定不同的$nheight参数值,这个参数决定了编辑器的宽度。

2、如果我想为后台编辑器保留所有功能,而为前台编辑器取消附件上传和图片在线管理功能,应该如何操作?

你可以通过修改editor_config1.js文件来实现这一点,在这个文件中,你可以为前台编辑器配置取消附件上传和图片在线管理功能,而后台编辑器则保持全功能配置不变,这样,你就可以根据页面的不同需求来定制编辑器的功能了。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1234361.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-10-23 16:13
下一篇 2024-10-23 16:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入