2012-03-26 4 views
0

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

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

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

+0

вы ранее входивших CKeditor с тортом? Этот учебник предназначен только для файлового браузера. – Ross

ответ

1

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

  1. Сначала я последовал следующий учебник, который работал хорошо, но пропустил часть Authentication: 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; 
} 
+0

Чему ваш код работает, но также мне пришлось изменить в config.js на полный путь .. к этому ... config.filebrowserImageBrowseUrl = '/blog2/app/webroot/js/ckeditor/Filemanager/index.html?type = изображения; – Leoh

+0

Эй. Я просто разместил свое приложение онлайн в эти выходные, и я также заметил, что мне пришлось изменить раздел кода, на который вы ссылались выше, на полный путь, возможно, потому, что это общий хостинг. В любом случае, я рад, что смог помочь ... Правила CakePHP! –

1

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

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