在CKFinder中自定义baseUrl和baseDir

2023-11-29

我们在许多 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\\" } );

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


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

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

谢谢! 缺口

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在CKFinder中自定义baseUrl和baseDir 的相关文章

随机推荐