kindeditor简介
KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器。
KindEditor使用JavaScript编写,可以无缝的于Java、.NET、PHP、ASP等程序接合。 KindEditor非常适合在CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用,2006年7月首次发布2.0以来,KindEditor依靠出色的用户体验和领先的技术不断扩大编辑器市场占有率,目前在国内已经成为最受欢迎的编辑器之一。
特点
1. 体积小,加载速度快,但功能十分丰富。2. 内置自定义range,完美地支持span标记。
3. 基于插件的方式设计,所有功能都是插件,增加自定义和扩展功能非常简单。
4. 修改编辑器风格很容易,只需修改一个CSS文件。
5. 支持大部分主流浏览器,比如IE、Firefox、Safari、Chrome、Opera。
dedeCMS默认的ckeditor编辑器个人感觉不是很好用,也不支持视频上传,dedeCMS官网也提供了kindeditor编辑器的插件,但是下载页面已经无法访问了,还好网上还有网友分享了插件,百度很轻松就能找到。
按照使用方法,安装启用以后发现有几个问题,这几个问题网上也可以找到答案,但是也要费一些功夫。
主要有以下问题:
1、dedeCMS更换成kindeditor后栏目内容无法保存。
2、dedeCMS更换成kindeditor后视频上传以无法播放。
3、dedeCMS更换成kindeditor后不支持MP4格式的视频上传。
4、dedeCMS更换成kindeditor后/include/plugins/code/prettify.css 文件无法找到,和编辑器页面报错(GBK版本)。
5、dedeCMS更换成kindeditor后GBK版本编辑器乱码。
6、dedeCMS更换成kindeditor后台首页在线更新模板报错。
解决方法:
问题一:
打开/include/inc/inc_fun_funAdmin.php文件,找到以下代码:
allowFileManager : {$allowFileManager}
更换为:
allowFileManager : {$allowFileManager},
afterBlur: function(){this.sync();}
问题二:
打开/include/kindeditor/kindeditor.js文件,找到以下代码:
function _mediaType(src) {
if (/\.(rm|rmvb)(\?|$)/i.test(src)) {
return ‘audio/x-pn-realaudio-plugin’;
}
if (/\.(swf|flv)(\?|$)/i.test(src)) {
return ‘application/x-shockwave-flash’;
}
return ‘video/x-ms-asf-plugin’;
}
替换为:
function _mediaType(src) {
if (/\.(rm|rmvb)(\?|$)/i.test(src)) {
return ‘audio/x-pn-realaudio-plugin’;
}
if (/\.(swf|flv)(\?|$)/i.test(src)) {
return ‘application/x-shockwave-flash’;
}
if (/\.(mp4)(\?|$)/i.test(src)) {
return ‘video/mp4’;
}
return ‘video/x-ms-asf-plugin’;
}
问题三:
打开/include/dialog/kindeditor_post.php文件,找到以下代码:
‘media’ => array(‘swf’, ‘flv’, ‘mp3’, ‘wav’, ‘wma’, ‘wmv’, ‘mid’, ‘avi’, ‘mpg’, ‘asf’, ‘rm’, ‘rmvb’),
替换为:
‘media’ => array(‘swf’, ‘flv’, ‘mp3’, ‘wav’, ‘wma’, ‘wmv’, ‘mid’, ‘avi’, ‘mpg’, ‘asf’, ‘rm’, ‘rmvb’,’mp4′),
修复以后,上传mp4视频播放正常:
问题四:
打开/include/inc/inc_fun_funAdmin.php文件,找到以下代码:
KindEditor.ready(function(K) {
var editor1 = K.create(‘textarea[name=”{$fname}”]’, {
cssPath : ‘../include/plugins/code/prettify.css’,
替换为:
KindEditor.ready(function(K) {
var editor1 = K.create(‘textarea[name=”{$fname}”]’, {
cssPath : ‘../include/kindeditor/plugins/code/prettify.css’,
问题五:
将include/kindeditor/lang/zh_CN.js 这个文件的编码转换成unicode即可,或者直接用utf8版本的文件替换gbk的此文件。
问题六:
打开/include/inc/inc_fun_funAdmin.php文件,找到以下代码:
function SpGetNewInfo()
{
global $cfg_version,$dsql;
$nurl = $_SERVER[‘HTTP_HOST’];
if( preg_match(“#[a-z\-]{1,}\.[a-z]{2,}#i”,$nurl) ) {
$nurl = urlencode($nurl);
}
else {
$nurl = “test”;
}
$phpv = phpversion();
$sp_os = PHP_OS;
$mysql_ver = $dsql->GetVersion();
$offUrl = “http://www.de”.”decms.com/newinfov57.php?version={$cfg_version}&formurl={$nurl}&phpver={$phpv}&os={$sp_os}&mysqlver={$mysql_ver}”;
return $offUrl;
}
替换为:
function SpGetNewInfo()
{
global $cfg_version,$dsql;
$nurl = $_SERVER[‘HTTP_HOST’];
if( preg_match(“#[a-z\-]{1,}\.[a-z]{2,}#i”,$nurl) ) {
$nurl = urlencode($nurl);
}
else {
$nurl = “test”;
}
$phpv = phpversion();
$sp_os = PHP_OS;
$mysql_ver = $dsql->GetVersion();
$seo_info = $dsql->GetOne(“SELECT * FROM `#@__plus_seoinfo` ORDER BY id DESC”);
$add_query = ”;
if ( $seo_info )
{
$add_query .= “&alexa_num={$seo_info[‘alexa_num’]}&alexa_area_num={$seo_info[‘alexa_area_num’]}&baidu_count={$seo_info[‘baidu_count’]}&sogou_count={$seo_info[‘sogou_count’]}&haosou360_count={$seo_info[‘haosou360_count’]}”;
}
$query = ” SELECT COUNT(*) AS dd FROM `#@__member` “;
$row1 = $dsql->GetOne($query);
if ( $row1 ) $add_query .= “&mcount={$row1[‘dd’]}”;
$query = ” SELECT COUNT(*) AS dd FROM `#@__arctiny` “;
$row2 = $dsql->GetOne($query);
if ( $row2 ) $add_query .= “&acount={$row2[‘dd’]}”;
$offUrl = “http://new”.”ver.a”.”pi.de”.”decms.com/index.php?c=info57&version={$cfg_version}&formurl={$nurl}&phpver={$phpv}&os={$sp_os}&mysqlver={$mysql_ver}{$add_query}”;
return $offUrl;
}
如果嫌麻烦不想动手改,也可以,我已经把所有问题都修复,上传到了网盘,直接下载以后按照版本覆盖原来的文件即可。
使用方法也是一样的:
1.解压压缩包,文件夹下有gb2312、utf-8两个版本的文件;
2.将对应版本文件覆盖到系统目录中;
3.系统后台中设置[系统]-[核心设置],在“Html编辑器(ckeditor,需要fck的用户可以去官网下载)”中设置:kindeditor
前台模板调用:
文件下载
下载密码:发表评论并刷新可见!