自定义CKEditor以在框架中使用清晰的URL

时间:2016-04-03 13:42:42

标签: javascript php url-rewriting ckeditor ckfinder

我写了一个带有lang / domain / controller / method / id的URI结构的小框架,现在我想使用与CKEditor集成的CKFinder我因为地址结构而无法上传和浏览服务器?我该怎么办?要浏览它使用的服务器:

http://localhost/public/admin/style1/plugins/ckfinder/ckfinder.html?CKEditor=abstraction&CKEditorFuncNum=1&langCode=fa

现在我已经通过以下方式更改了上传和浏览地址:

sed 's%/\* \([0-9]*\) \*/ \([^,]*\).*%case \1: return \2;%'

它会显示图像,但是当我选择它们时,它不会将它带到页面,它会将文件上传到我的图像文件夹,但无法添加它们,甚至无法在正文或上传对话框中预览它们。如何使用带有清晰URL的ckeditor?

1 个答案:

答案 0 :(得分:3)

带有自定义路径的CKFinder

如果您正在进行URL重写,并且您希望CKFinder返回带有自定义路径的URL,您可以执行以下操作:

您可以配置CKFinder如何在backends部分的CKFinder config.php文件中将网址发送到CKEditor:

$config['backends'][] = array(
    'name'         => 'default',
    'adapter'      => 'local',
    'baseUrl'      => 'http://base/url/ckfinder/will/give/to/ckeditor',
    'root'         => '/path/to/files/on/disk',
    'chmodFiles'   => 0777,
    'chmodFolders' => 0755,
    'filesystemEncoding' => 'UTF-8'
);

文件路径将附加到所有URL,并且配置无法更改此行为。

E.g。对于/path/to/files/on/disk/images/picture.png,返回的网址为http://base/url/ckfinder/will/give/to/ckeditor/images/picture.png

或者,您可以将'useProxyCommand' => true添加到后端配置中。

这会将所有返回的网址更改为http://localhost/core/connector/php/connector.php?command=Proxy&lang=en&type=Files&currentFolder=%2F&hash=9fd5e9f22b8dea6a&fileName=picture.png格式,其中http://localhost/core/connector/php/connector.php是用于发出获取文件网址请求的网址。

与文件管理器的自定义集成

如果要与文件管理器实现自己的集成,请检查/uploader/upload.php的响应。 CKEditor期望类似:

<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction(1, 'http://file/url', 'message');</script>`

您可以在CKEditor的documentation

中找到更多信息