3

我们在许多 CMS 应用程序中使用 CKEditor 和 CKFinder for Coldfusion。这些应用程序指向我们服务器上的不同站点,因此我们希望 CKFinder 设置将文件上传到每个应用程序特定的目录。但是我们希望服务器上的 CKEditor 和 CKFinder 文件有一个共享位置。

在 config.cfm 文件中,我们设置了默认的 baseURL 和 baseDir,如下所示:

config.baseUrl = "http://www.oursite.com/_files/site1/ckfinder_uploads/";    
config.baseDir = '\\ourserver01\_files\site1\ckfinder_uploads\';

在每个应用程序的头文件中,我们包含以下内容以实例化 CKEditor 和 CKFinder(包括 jQuery 适配器):

<script type="text/javascript" src="/shared/ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="/shared/ckeditor/adapters/jquery.js"></script>
<script type="text/javascript" src="/shared/ckfinder/ckfinder.js"></script>

<script type="text/javascript">
  $(document).ready(function(){
    CKFinder.setupCKEditor( null, '/shared/ckfinder/' );
  });
</script>

当我在其中一个应用程序中打开 CKFinder 窗口时,它会正确打开到默认的 baseURL/baseDir。但是,如何覆盖这些默认值?我尝试将 CKFinder setupCKEditor 函数更改为以下内容,但没有成功:

CKFinder.setupCKEditor( null, { basePath:'/shared/ckfinder/', baseUrl:"http://www.oursite.com/_files/NEWSITE/ckfinder_uploads/", baseDir:"\\\\ourserver01\\_files\\NEWSITE\\ckfinder_uploads\\" } );

它只是忽略了这一点并使用了默认值。想法?谢谢!!

4

1 回答 1

1

这就是我所做的。它并不完美,但它有效。使用 CF,在您设置 baseUrl 和 baseDir 的 CKFinder 目录中有一个 config.cfm 文件。在那里,我将这两个变量的值设置为两个对应的浏览器 cookie。然后我在不同应用程序的标题中设置 cookie 值,以便它们可以反映我所在的应用程序。

不利的一面是,如果您打开了 2 个应用程序,则只有您最近打开的应用程序会设置正确的 cookie 值。如果有人知道更好、相似(或不相似)的方法,我会很感兴趣。

谢谢!缺口

于 2012-12-07T19:04:27.667 回答