我正在Drupal下载模块,但我遇到了Wysiwyg的问题。它说它需要一个编辑器库,所以我下载了CKEditor模块,它运行得很好。然而,当我进入Wysiwyg配置时,它一直告诉我“无法检测到 CKEditor 的版本。然后它说我应该提取内容,以便可以在以下位置找到该库:< / p>
站点/所有/库/ CKEditor的/ ckeditor.js
我确切地说,我重置了权限,我查看了不同的安装指南,但似乎没有任何效果。你们中的任何人都知道如何解决这个问题吗?
答案 0 :(得分:1)
如果您使用的是最新版本的CKEditor(版本4),则需要编辑Drupal的WYSIWYG模块。该模块使用与CKEditor的版本定义(在javascript中)不匹配的正则表达式验证编辑器版本。
您需要使用以下修改后的代码修改第77行到第88行的wysiwyg/editors/ckeditor.inc
文件(基本上是while
循环):
while ($max_lines && $line = fgets($library, 500)) {
// version:'CKEditor 3.0 SVN',revision:'3665'
// version:'3.0 RC',revision:'3753'
// version:'3.0.1',revision:'4391'
if (preg_match('@version:\"(?:CKEditor )?([\d\.]+)(?:.+revision:\"([\d]+))?@', $line, $version)) {
fclose($library);
// Version numbers need to have three parts since 3.0.1.
$version[1] = preg_replace('/^(\d+)\.(\d+)$/', '${1}.${2}.0', $version[1]);
return $version[1] . ((isset($version[2])) ? '.' . $version[2] : '');
}
$max_lines--;
}
正则表达式中的单引号已更改为双引号+返回值会添加额外的isset
条件。