我的编程空间,编程开发者的网络收藏夹
学习永远不晚

phpcms中的ckeditor编辑器升级方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

phpcms中的ckeditor编辑器升级方法

准备:

1.当前phpcms最新版本(自带ckeditor 版本为3.6.6)

2.准备替换的最新ckeditor,版本4.2.1

 

一、开始之前说下原版ckeditor与phpcms的ckeditor的一些主要区别:

1.原版的分页符是一个div标签,而phpcms中编辑器的是[page]。

2.phpcms编辑器下方,多了3个按钮,“分页符”,“子标题”,“附件上传”。

3.由于ckeditor的版本不一样,一些自己开发的插件不能兼容。

二、下面开始替换。

1.备份phpcms的 /statics/js/ckeditor 文件夹(重命名即可)。以及/phpcms/libs/classes/form.class.php (这个文件中有个方法就是创建一个编辑器,使用一些编辑器的工具栏配置需要在这里操作)

2.把新版ckedtior复制到/statics/js/下。打开/statics/js/ckeditor/config.js 文件,用旧版的config.js替换。但请注释掉 config.extraPlugins = ''; 这一行(我想应该是插件不兼容问题)


复制代码代码如下:

</p> <p>CKEDITOR.editorConfig = function( config ) {

// Define changes to default configuration here. For example:

// config.language = 'fr';

// config.uiColor = '#AADC6E';

config.uiColor = '#f7f5f4';

config.width = '';

config.removePlugins = 'elementspath,scayt';

config.disableNativeSpellChecker = false;

config.resize_dir = 'vertical';

config.keystrokes =[[ CKEDITOR.CTRL + 13 , 'maximize' ]];

config.extraPlugins = '';

config.enterMode = CKEDITOR.ENTER_BR;

config.shiftEnterMode = CKEDITOR.ENTER_P;

config.font_names='宋体/宋体;黑体/黑体;仿宋/仿宋_GB2312;楷体/楷体_GB2312;隶书/隶书;幼圆/幼圆;微软雅黑/微软雅黑;'+ config.font_names;

};</p> <p>

CKEDITOR.on( 'instanceReady', function( ev ){ with (ev.editor.dataProcessor.writer) { setRules("p", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("h1", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("h2", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("h3", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("h4", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("h5", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("div", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("table", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("tr", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("td", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("iframe", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("li", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("ul", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); setRules("ol", {indent : false, breakAfterOpen : false, breakBeforeClose : false} ); } });

//CKEDITOR.plugins.load('pgrfilemanager');

function insert_page(editorid)

{

var editor = CKEDITOR.instances[editorid];

editor.insertHtml('[page]');

if($('#paginationtype').val()) {

$('#paginationtype').val(2);

$('#paginationtype').css("color","red");

}

}</p> <p>function insert_page_title(editorid,insertdata)

{

if(insertdata)

{

var editor = CKEDITOR.instances[editorid];

var data = editor.getData();

var page_title_value = $("#page_title_value").val();

if(page_title_value=='')

{

$("#msg_page_title_value").html("<font color='red'>请输入子标题</font>");

return false;

}

page_title_value = '[page]'+page_title_value+'[/page]';

editor.insertHtml(page_title_value);

$("#page_title_value").val('');

$("#msg_page_title_value").html('');

if($('#paginationtype').val()) {

$('#paginationtype').val(2);

$('#paginationtype').css("color","red");

}

}

else

{

$("#page_title_div").slideDown("fast");

}

}

var objid = MM_objid = key = 0;

function file_list(fn,url,obj) {

$('#MM_file_list_editor1').append('<div id="MM_file_list_'+fn+'">'+url+' <a href=\'#\' onMouseOver=\'javascript:FilePreview("'+url+'", 1);\' onMouseout=\'javascript:FilePreview("", 0);\'>查看</a> | <a href="javascript:insertHTMLToEditor(\'<img class="lazy" data-src='+url+'>\',\''+fn+'\')">插入</A> | <a href="javascript:del_file(\''+fn+'\',\''+url+'\','+fn+')">删除</a>

');

}

3.打开/statics/js/ckeditor/ckeditor.js 做一些修改,目的是 把工具栏上的分页按钮与phpcms的分页保持一致。

找到:


复制代码代码如下:

CKEDITOR.plugins.pagebreakCmd={exec:function(a){var b=a.lang.pagebreak.alt,b=CKEDITOR.dom.element.createFromHtml('<div style="page-break-after: always;"contenteditable="false" title="'+b+'" aria-label="'+b+'" data-cke-display-name="pagebreak" class="cke_pagebreak"></div>',a.document);a.insertElement(b)},context:"div",allowedContent:{div:{styles:"!page-break-after"},span:{match:function(a){return(a=a.parent)&&"div"==a.name&&a.styles["page-break-after"]},styles:"display"}},requiredContent:"div{page-break-after}"};

替换为:


复制代码代码如下:

CKEDITOR.plugins.pagebreakCmd={exec:function(a){a.insertHtml('[page]');o=document.getElementById('paginationtype');o.options[2].selected = true}};

 4.打开/phpcms/libs/classes/form.class.php 添加一些内容,目的是加上编辑器底部的三个按钮。(phpcms之前是在 ckeditor.js中做的。)

在下面代码后面


复制代码代码如下:

if(!defined('IMAGES_INIT')) {

$ext_str .= '<script type="text/javascript" class="lazy" data-src="'.JS_PATH.'swfupload/swf2ckeditor.js"></script>';

define('IMAGES_INIT', 1);

}

添加:


复制代码代码如下:

$ext_str.="<div class=\"cke_footer\">";

if(!$disabled_page){

$ext_str.="<a href=\"javascript:insert_page('content')\">分页符</a><a href=\"javascript:insert_page_title('content')\">子标题</a>";

}

$ext_str.="<a onclick=\"flashupload('flashupload', '附件上传','{$textareaid}','','{$allowuploadnum},{$alowuploadexts},{$allowbrowser}','{$module}','{$catid}','{$authkey}');;return false;\" href=\"javascript:void(0);\">附件上传</a>

</div>";

5.复制旧版ckeditor/skins/kama/images/文件夹下的文件 到 新版ckeditor/skins/moono/images/下。目的是一些样式的需要。

6.打开ckeditor\skins\moonoeditor_gecko.css文件,在最后加入三个按钮的样式即可


复制代码代码如下:

.cke_top {

background: url("images/line.png") repeat-x scroll 0 0 transparent;

}

.cke_footer {

float: left;

margin-top: 3px;

}

.cke_footer a, .cke_footer a:hover, .cke_footer a:visited,.cke_footer a:active {

background: url("images/cke_fot.gif") repeat-x scroll left bottom transparent;

border: 1px solid #E0E0E0;

color: #666666;

cursor: pointer;

display: block;

float: left;

height: 19px;

line-height: 19px;

margin-right: 8px;

padding: 0 10px;

}

.cke_footer a:hover {

background-position: left top;

}</p> <p>

.editor_bottom {

clear: both;

height: 12px;

top:-28px;

position: relative;

}

#page_title_div {

display: none;

height: 78px;

left: 18px;

position: absolute;

top: -120px;

width: 295px;

z-index: 99999;

}

#page_title_div table {

background: none repeat scroll 0 0 #FFFFFF;

border: 2px solid #D5E0E6;

height: 78px;

width: 295px;

}

#page_title_div table td {

border: medium none;

}

#page_title_div table td.title {

color: #333333;

font: 18px/31px "MicroSoft YaHei","SimHei";

height: 26px;

margin: 0;

padding: 0 0 0 12px;

text-align: left;

}

#page_title_div a.close span {

display: none;

}

#page_title_div a.close {

background: url("images/cross.png") no-repeat scroll left 3px transparent;

display: block;

float: right;

height: 16px;

margin-right: 10px;

width: 16px;

}

#page_title_div a.close:hover {

background-position: left -46px;

}

.content_attr {

background: none repeat scroll 0 0 #FFFFCC;

border: 1px solid #CCCCCC;

margin-top: 6px;

padding: 5px 8px;

}

#Capture {

color: #474747;

font-size: 12px;

line-height: 20px;

}

#Capture font {

color: #FF0000;

}

#Capture a {

background: url("images/cdw.png") no-repeat scroll 0 0 transparent;

color: #0075C0;

display: inline-block;

padding-left: 20px;

text-decoration: none;

}

#Capture a:hover {

text-decoration: underline;

}

#Capture #CaptureDown {

background-image: url("images/cd.png");

}

到此,ckeditor编辑器升级完成,需要说明一下的是,phpcms本身自带一个capture插件,本次升级没有考虑它,一是用处不大,而是只能在ie中使用。

如有什么疑问或错误,请告知,谢谢!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

phpcms中的ckeditor编辑器升级方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

phpcms中的ckeditor编辑器升级方法

准备: 1.当前phpcms最新版本(自带ckeditor 版本为3.6.6) 2.准备替换的最新ckeditor,版本4.2.1 一、开始之前说下原版ckeditor与phpcms的ckeditor的一些主要区别: 1.原版的分页符是
2022-06-12

django轻松使用富文本编辑器CKEditor的方法

前言 django是一个容易快速上手的web框架,用它来创建内容驱动型的网站(比如独立博客)十分方便。遗憾的是,django并没有提供官方的富文本编辑器,而后者恰好是内容型网站后台管理中不可或缺的控件。ckeditor是一款基于javasc
2022-06-04

为PHPCMS 2008 编辑器增加常用中文字体方法

phpcms编辑器增加常用中文字体方法 phpcms 2008 1、打开\fckeditor\http://www.cppcns.comfckconfig.js 2、查找 FCKConfig.FontNames 省略…&hel
2022-06-12

phpcms v9的后台编辑器无法上传图片的解决方法

今天在修改原来用phpcms v9做的网站的时候,发现碎片的编辑NUYoz器那里不能上传图片了,然后看了下后台发布文章那里,也是一样不能上传图片了。于是,搜了下教程,发现了解决方法。因为我原来用的编程客栈是二级测试域名,现在改成一级域名了,
2022-06-12

Python的Flask框架中集成CKeditor富文本编辑器的教程

CKeditor是目前最优秀的可见即可得网页编辑器之一,它采用JavaScript编写。具备功能强大、配置容易、跨浏览器、支持多种编程语言、开源等特点。它非常流行,互联网上很容易找到相关技术文档,国内许多WEB项目和大型网站均采用了CKed
2022-06-04

dede编辑器换成kindEditor编辑器的方法图解

先看一下效果图: &nb编程客栈sp; 考虑到dede系统的统一性,抛弃了直接在 article_edit.htm 这个模版中直接修改的做法,大家可以在只修改一个小地方的情况下完成编辑器的更换。 &nbs编程客栈p; 首先
2022-06-12

关于Python中编辑器的操作方法

关于Python中编辑器的操作方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Hello world安装完Python之后(我本机的版本是2.5.4),打开IDLE(Py
2023-06-17

Python编辑器的编译方法是什么

Python编辑器的编译方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。从Python编辑器中也可调用编译器以及与它拥有的共用的程序,这样的话程序员就无需离开编辑器就可
2023-06-17

linux中的vi和vim编辑器操作方法

vi:linux内部的文本编辑器;vim:vi的增强版,具有程序编辑的能力。 vi和vim的三种常见模式: (1)正常模式(一般模式):vim一打开就是这种模式,此模式下可以使用各种快捷键,比如复制粘贴、移动光标、删除整行等操作 (2)编辑
2022-06-04

Linux使用VIM编辑器的方法

Vim 作为一款功能强大、选项丰富的编辑器,为许多用户所热爱。本文介绍了一些在 Vim 中默认未启用但实际非常有用的选项。虽然可以在每个 Vim 会话中单独启用,但为了创建一个开箱即用的高效编辑环境,还是建议在 Vim 的配置文件中配置这些
2022-06-04

编辑器Ueditor和SpringBoot 的整合方法

1.先导入ueditor所有的包:在springboot static下2.导入需要的ueditor的js3.配置ueditor.config.js的// 服务器统一请求接口路径://, serverUrl:(这个路径是个Java类,和co
2023-05-31

linux中ssh的升级安装方法

本篇内容介绍了“linux中ssh的升级安装方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、安装 Zlib 1、下载最新版本 Zlib
2023-06-13

将百度编辑器(Ueditor)整合到dedecms中的方法

本文实例讲述了将百度编辑器(Ueditor)整合到dedecms中的方法,分享给大家供大家参考。具体分析如下: 现在百度编辑器感觉比dedecms自带的编辑器要强多了,这里就来给大家介绍替换dedecms自带编辑器的方法. Ueditor整
2022-06-12

AntDesign Vue中表格无法编辑的解决方法

这篇文章主要为大家展示了“AntDesign Vue中表格无法编辑的解决方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“AntDesign Vue中表格无法编辑的解决方法”这篇文章吧。Ant
2023-06-22

Linux (Ubuntu 18.04) 下安装vim编辑器的方法

大家可以去Ubuntu官网下载桌面系统: https://ubuntu.com/download/desktop ,虽然最新版是19.04,但是建议大家下载稳定版18.04。安装过程非常简洁,我使用的是VMware Workstation
2022-06-04

Java中synchronized锁升级的方法是什么

这篇“Java中synchronized锁升级的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中synch
2023-07-06

用JAVA写文本编辑器的方法是什么

本篇内容介绍了“用JAVA写文本编辑器的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!下面我们要实现的是一个点击选择文本格式的窗口
2023-06-25

Pixi.js实现可视化图形编辑器的方法

本文主要介绍了Pixi.js实现可视化图形编辑器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-19

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录