自定义 CKEditor 以在框架中使用 clear URL

Customizing CKEditor to work with clear URL in framework

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

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

现在我已经通过这些更改了上传和浏览地址:

 CKEDITOR.replace('article',
    {
        filebrowserBrowseUrl : '/browser/browse.php',
        filebrowserUploadUrl : '/uploader/upload.php'
    });

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

带有自定义路径的 CKFinder

如果你正在做 URL 重写并且你希望 CKFinder return URLs 具有自定义路径你可以执行以下操作:

您可以在 backends 部分的 CKFinder config.php 文件中配置 CKFinder 如何发送 URLs 到 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 并且此行为无法通过配置更改。

例如对于 /path/to/files/on/disk/images/picture.png returned URL 是 http://base/url/ckfinder/will/give/to/ckeditor/images/picture.png

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

这会将所有 returned URL 更改为 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 是用于制作的 URL请求获取文件的 URL.

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

如果您正在实施自己与文件管理器的集成,请检查您来自 /uploader/upload.php 的回复。 CKEditor 期望这样的东西:

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

您可以在 CKEditor 的 documentation

中找到更多信息