将文件浏览器集成到ckeditor& CakePHP的

时间:2012-03-26 03:11:08

标签: cakephp file-upload cakephp-1.3 ckeditor

最近在http://hashtwo.com/blog/integrating-a-file-browser-into-ckeditor-cakephp找到一篇文章,将文件浏览器集成到ckeditor(core five labs的文件管理器)

我按照步骤操作,但单击浏览服务器按钮时出现错误

缺少控制器: 错误:找不到CkeditorController。

2 个答案:

答案 0 :(得分:1)

如果它试图找到一个控制器,这意味着它无法访问编辑器文件或文件夹,而是CakePHP的调度程序获取请求并尝试加载一个fckeditor控制器。

这意味着您需要将编辑器放在正确的目录中(例如app / webroot / fckedtor /)或使用正确的URL来访问它。

答案 1 :(得分:1)

我在设置过程中的某些时候遇到了同样的错误,但我似乎不记得它是什么以及我是如何修复它的。如果我的下一个解决方案无法解决您的问题,请告诉我,我会再调查一下:

  1. 首先,我按照以下教程运行良好,但错过了身份验证部分:http://labs.corefive.com/projects/filemanager/
  2. 然后我使用了您引用的教程,除了提供的最后一段代码。相反,我将以下代码直接添加到我的视图页面:admin_add.ctp

    <?php echo $form->textarea('body', array(/*'class'=>'ckeditor', */'id' => 'body', 'class' => 'body')) ?>
    <?php
        include_once 'ckeditor/ckeditor.php' ;
        //require_once 'ckfinder/ckfinder.php' ;
        //$initialValue = 'Default value goes here' ;
        $ckeditor = new CKEditor() ;
        $ckeditor->basePath = '/ckeditor/' ;
        $ckeditor->config['filebrowserBrowseUrl'] = '/ckeditor/filemanager/index.html';
        $ckeditor->config['filebrowserUploadUrl'] = '/ckeditor/filemanager/connectors/php/filemanager.php';
        $ckeditor->config['filebrowserImageBrowseUrl'] = '/ckeditor/filemanager/index.html?type=Images';
        $ckeditor->config['filebrowserImageUploadUrl'] = '/ckeditor/filemanager/connectors/php/filemanager.php?command=QuickUpload&type;=Images';
    
        $ckeditor->config['filebrowserWindowWidth'] = '800';
        //CKFinder::SetupCKEditor( $ckeditor,'/ckfinder/' ) ;
    
                // This will replace CakePHP textarea listed above.
        $ckeditor->replace('body');
    ?>
    
  3. 此外,对于他的教程的Auth部分,我将其更改为符合我的要求:

    function auth() {
        session_name("CAKEPHP");
        session_start();
        if(isset($_SESSION['Auth']['User']) )
        {
            //Since CKEditor for me is only used in the admin section
            //I make sure only admins can access it, group_id=1
            if($_SESSION['Auth']['User']['group_id'] == 1)
            {
                return true;
            }
        }
        return false;
    }