Интеграция файлового браузера в ckeditor & CakePHP - PullRequest
0 голосов
/ 26 марта 2012

недавно нашел статью в http://hashtwo.com/blog/integrating-a-file-browser-into-ckeditor-cakephp, чтобы интегрировать файловый браузер в ckeditor (файловый менеджер основные пять лабораторий )

Я выполнил шаги, но получил ошибкукогда я нажимаю кнопку обзора сервера,

Отсутствует контроллер: ошибка: не удалось найти CkeditorController.

Ответы [ 2 ]

1 голос
/ 27 марта 2012

В какой-то момент во время установки у меня была такая же ошибка, но я не помню, что это было и как я это исправил.Дайте мне знать, если мое следующее решение не решит вашу проблему, и я исследую немного больше:

  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');
    ?>
    

Кроме того, для раздела 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;
}
1 голос
/ 26 марта 2012

Если он пытается найти контроллер, это означает, что он не может получить доступ к файлу или папке редактора, и вместо этого диспетчер CakePHP получает запрос и пытается загрузить контроллер fckeditor.

Это означает, что вам понадобитсячтобы разместить редактор в нужном каталоге (например, app / webroot / fckedtor /) или использовать правильный URL для доступа к нему.

...