最近在http://hashtwo.com/blog/integrating-a-file-browser-into-ckeditor-cakephp找到一篇文章,将文件浏览器集成到ckeditor(core five labs的文件管理器)
我按照步骤操作,但单击浏览服务器按钮时出现错误
缺少控制器: 错误:找不到CkeditorController。
答案 0 :(得分:1)
如果它试图找到一个控制器,这意味着它无法访问编辑器文件或文件夹,而是CakePHP的调度程序获取请求并尝试加载一个fckeditor控制器。
这意味着您需要将编辑器放在正确的目录中(例如app / webroot / fckedtor /)或使用正确的URL来访问它。
答案 1 :(得分:1)
我在设置过程中的某些时候遇到了同样的错误,但我似乎不记得它是什么以及我是如何修复它的。如果我的下一个解决方案无法解决您的问题,请告诉我,我会再调查一下:
然后我使用了您引用的教程,除了提供的最后一段代码。相反,我将以下代码直接添加到我的视图页面: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;
}