我们在许多CMS应用程序中将CKEditor和CKFinder用于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\\" } );


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

最佳答案

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

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

谢谢!
缺口

关于coldfusion - 在CKFinder中自定义baseUrl和baseDir,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13610474/

10-13 03:19