【问题标题】:Wysiwyg cant detect CKEditor所见即所得无法检测到CKEditor
【发布时间】:2013-10-24 19:55:49
【问题描述】:

我正在下载 Drupal 上的模块,但我遇到了所见即所得的问题。它说它需要一个编辑器库,所以我下载了 CKEditor 模块,它工作得很好。但是,当我进入所见即所得配置时,它一直告诉我“无法检测到 CKEditor 的版本。然后它说我应该提取内容以便可以在以下位置找到库:

sites/all/libraries/ckeditor/ckeditor.js

我确实这样做了,我重置了权限,我查看了不同的安装指南,但似乎没有任何效果。有谁知道我该如何解决这个问题?

【问题讨论】:

    标签: javascript drupal ckeditor drupal-modules wysiwyg


    【解决方案1】:

    如果您使用的是CKEditor的最新版本,即版本4,您需要编辑Drupal的所见即所得模块。该模块使用与 CKEditor 的版本定义(在 javascript 中)不匹配的正则表达式来验证编辑器版本。

    您需要使用此修改后的代码将 wysiwyg/editors/ckeditor.inc 文件从第 77 行修改到第 88 行(基本上是 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条件。

    【讨论】:

      猜你喜欢
      • 2022-01-22
      • 2014-03-29
      • 2020-04-23
      • 1970-01-01
      • 2014-08-21
      • 1970-01-01
      • 2011-07-18
      • 2017-08-21
      • 1970-01-01
      相关资源
      最近更新 更多