2012-03-26 9 views
0

fanden vor kurzem einen Artikel in http://hashtwo.com/blog/integrating-a-file-browser-into-ckeditor-cakephp einen Datei-Browser in ckeditor (Datei-Manager von core five labs)einen Datei-Browser in ckeditor & CakePHP Integration

ich die Schritte folgen zu integrieren, aber ich erhalte eine Fehlermeldung, wenn ich die BrowseServer Schaltfläche klicken ,

Fehlender Controller: Fehler: CkeditorController konnte nicht gefunden werden.

+0

haben Sie vorher integriert CKeditor mit Kuchen? Dieses Tutorial ist nur für den Dateibrowser gedacht. – Ross

Antwort

1

Ich hatte den gleichen Fehler während meiner Einrichtung, aber ich erinnere mich nicht, was es war und wie ich es behoben habe. Lassen Sie uns wissen, wenn meine nächste Lösung des Problem nicht beheben, und ich werde ein wenig mehr untersuchen:

  1. Zuerst folgte ich das folgende Tutorial, das gut funktionierte, aber verpassten Teil der Authentifizierung: http://labs.corefive.com/projects/filemanager/
  2. Dann habe ich das Tutorial, auf das Sie verwiesen haben, mit Ausnahme des letzten bereitgestellten Codeabschnitts. Stattdessen habe ich den folgenden Code direkt zu meiner Ansicht Seite: 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'); 
    ?> 
    

Auch für die Auth Abschnitt seiner Anleitung habe ich es meinen Anforderungen entsprechen:

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

THanks Ihr Code funktioniert, aber ich musste auch in config.js auf den vollständigen Pfad ändern .. zu diesem ... config.filebrowserImageBrowseUrl = '/blog2/app/webroot/js/ckeditor/Filemanager/index.html?type = Bilder '; – Leoh

+0

Hey. Ich habe mein Programm gerade an diesem Wochenende online gestellt und mir ist auch aufgefallen, dass ich den obigen Abschnitt des Codes auf den vollständigen Pfad umstellen musste, vielleicht weil es sich um ein Shared Hosting handelt. Wie auch immer, ich bin froh, dass ich helfen konnte ... CakePHP Regeln! –

1

Wenn versucht wird, einen Controller zu finden, bedeutet dies, dass er nicht auf die Editordatei oder den Ordner zugreifen kann und stattdessen der Dispatcher von CakePHP die Anfrage erhält und versucht, einen fckeditor Controller zu laden.

Das bedeutet, dass Sie den Editor in das richtige Verzeichnis (z. B. app/webroot/fckedtor /) stellen oder die richtige URL verwenden müssen, um darauf zuzugreifen.