3

多くの CMS アプリケーションで、Coldfusion 用の CKEditor と CKFinder を使用しています。これらのアプリはサーバー上の異なるサイトを指しているため、CKFinder セットアップで各アプリに固有のディレクトリにファイルをアップロードする必要があります。ただし、サーバー上の CKEditor ファイルと CKFinder ファイル用に 1 つの共有場所が必要です。

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>

アプリの 1 つで 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 ファイルがあります。そこで、これら 2 つの変数の値を、対応する 2 つのブラウザー Cookie に設定します。次に、さまざまなアプリのヘッダーに Cookie の値を設定して、使用しているアプリを反映できるようにします。

欠点は、2 つのアプリを開いている場合、最近開いたアプリだけに正しい Cookie 値が設定されることです。誰かがこれを行うためのより良い、類似した (または類似していない) 方法を知っていれば、私は興味があります。

ありがとう!ニック

于 2012-12-07T19:04:27.667 に答える