johnwei01 发表于 2009-1-28 16:08:06

纠正一下论坛里关于FCK的文章

用了CI没多少天,因为要开始做一个项目,发布产品急需用到FCK,后来在论坛上找关于CI集成FCK的文章,有很多,但绝大部分的文章都是复制——粘贴别人的文章,可谓一字不漏。当我尝试的时候试了一个通宵,直到年初三早上6点半,没一个能调用出来的,当时郁闷的很,很讨厌这些不负责任的粘贴行为。后来睡醒觉,在看到新浪一篇文章,本论坛上也有很多人发表fck复制的文章,(http://blog.sina.com.cn/s/blog_4b93170a0100b1e4.html)尝试了下,不行,再修改,结果行了!现在我把这篇文章修改后成功的代码发出来:

1. 下载解压FCKeditor 2.6,我是放在system/application/plugins/fckeditor/ 下。

2.根据你的php版本,将fckeditor_php4.php或fckeditor_php5.php复制到 /system/application/libraries/ 下,并更名为 fckeditor.php

3. 打开此文件,将类名更改为 Fckeditor,并修改你的构造器
$this->BasePath 定义为你的fckeditor的目录,我的是$this->BasePath = base_url().'system/application/plugins/fckeditor/';
// PHP 5
    function __construct( $instanceName )
   {
      $this->InstanceName    = $InstanceName['name'];
      $this->BasePath      = base_url().'system/application/plugins/fckeditor/' ;
      $this->Width      = $InstanceName['width'] ;
      $this->Height      = $InstanceName['height'] ;
      $this->ToolbarSet    = 'Default' ;
      $this->Value      = '' ;
      $this->Config      = array() ;
    }

4. 打开 ./system/application/libraries/下的 fckeditor.php,复制FCKeditor_IsCompatibleBrowser()函数里的所有内容,替换到IsCompatible()函数里的所有内容

5.如果你使用了.htaccess文件,需要做如下修改

RewriteCond $1 !^(index\.php|images|system/application/plugins/fckeditor)


6. 基本设置完毕,在控制器中调用直接输出测试:
$this->load->helper('url');
$info = array('name' => 'product','width'=>600,'height'=>200);
$this->load->library('fckeditor',$info);
$this->fckeditor->Value='测试成功';
$this->fckeditor->Create();

      大家与原文对比一下,当在控制器初始化类库时,第二个参数必须为变量,如果是字符串会报错为未定义的变量。附上已经集成FCK的CI给大家下载参考,希望能给正在为集成FCK的朋友们节省时间和精力。另外本人对本论坛上所有粘贴复制CI集成FCK文章的网友很不满意!:@

sam 发表于 2009-1-28 17:33:33

本帖最后由 sam 于 2009-1-28 17:36 编辑

以前经过测试,1.6.x版本不曾出过楼主的问题,只有1.7.0有点Bug

Hex 发表于 2009-1-29 14:58:38

本人对楼主认真负责的态度表示敬佩,也希望大家不要简单的粘贴复制,为社区创造良好的交流氛围,谢谢大家!

qhlhlj 发表于 2009-2-1 15:50:14

不错,我上次也试了很多次都没有集成。搜的帖子还都是一样的{:3_60:}

sam 发表于 2009-2-1 17:21:22

不错,我上次也试了很多次都没有集成。搜的帖子还都是一样的{:3_60:}
qhlhlj 发表于 2009-2-1 15:50 http://www.codeigniter.org.cn/forums/images/common/back.gif

可否把不成功的原因或者错误提示共享出来?

ztkx 发表于 2009-2-8 21:06:36

本帖最后由 ztkx 于 2009-2-8 21:14 编辑

有些问题还是没弄明白

打开此文件,将类名更改为 Fckeditor
这一步有什么用意,lz给出的打包文件也并没有这么做

我试过了,lz的方法在1.7.0里是可行的,但是貌似FCk不同的版本也会有问题,我下了新的2.6.4,就没办法跑起来,总是告诉我没有权限访问fckeditor.html,fckconfig.js 里似乎也没有什么可疑的

sam 发表于 2009-2-8 21:16:00

有些问题还是没弄明白


这一步有什么用意,lz给出的打包文件也并没有这么做

我试过了,lz的方法在1.7.0里是可行的,但是貌似FCk不同的版本也会有问题,我下了新的2.6.4,就没办法跑起来,总是告诉我没有权限访问fckedit ...
ztkx 发表于 2009-2-8 21:06 http://codeigniter.org.cn/forums/images/common/back.gif

为了跟CI规则保持一致,CI类名首字母大写

ztkx 发表于 2009-2-8 23:09:42

想把它放在form里,但是总是置顶,脱离form,不知道是什么原因

sam 发表于 2009-2-9 02:09:06

想把它放在form里,但是总是置顶,脱离form,不知道是什么原因
ztkx 发表于 2009-2-8 23:09 http://codeigniter.org.cn/forums/images/common/back.gif

正常情况下,编辑器跟着form走,说明你html和php代码可能有问题

ztkx 发表于 2009-2-9 15:48:15

controller里是按例子走的,
view里

<?php form_open(..) ?>
<?php form_input($1) ?>
<?php form_input($2) ?>
<?php form_input($3) ?>
<?php echo $fckeditor ?>
</form>

btw, 觉得最后这个</form>很奇怪,不应该这样的,至少也该封装一下
页: [1] 2
查看完整版本: 纠正一下论坛里关于FCK的文章