CKEditorとCK Finderの配置(ASP.NET環境)

9755 ワード

(抜取:http://www.cnblogs.com/rainman/p/3223242.html)
  • インストールと配置
  • CKEditor
  • CKFinder
  • 簡単な構成
  • CKEditor
  • CKFinder
  • CheckAuthenticationの戻り値を変更する
  • Licenseと記憶ディレクトリ
  • を変更します。
  • .ckfinder_を削除する。samplesとckfinder_source二つのフォルダ
  • CKFinder引用を追加する
  • 設置と配置
    1.CKEditor
    ダウンロードした後に解凍して、全体の“ckeditor”をウェブサイトの任意のディレクトリの下で置きます。
    2.CKFinder
    ASP.NETバージョンのCK Finderをダウンロードして解凍し、サイトの任意のディレクトリに「CK Finder」全体を置く。
    簡単な設定
    CKEditorとCK Finderの配置項目が多く、非常に細かいです。本論文は単純な構成だけで、正常に使用できることを保証します。
    1.CKEditor
    ファイル:/ckeditor/config.js
    CKEDITOR.editorConfig = function( config ) {
        config.language = 'zh-cn';  //   
        config.tabSpaces = 4;       //      TAB ,         ,   0 ,        
        config.toolbar = "Custom_RainMan";    //      
        config.toolbar_Custom_RainMan = [
            ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
            ['Cut','Copy','Paste','PasteText','PasteFromWord'],
            ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'],
            '/',
            ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
            ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
            ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
            ['Link','Unlink','Anchor'],
            ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],
            '/',
            ['Styles','Format','Font','FontSize'],
            ['TextColor','BGColor'],
            ['Maximize', 'ShowBlocks','Templates','Source']
        ];
    };
    2.CKFinder
    ①CheckAuthentication()の戻り値を変更する
    CheckAuthentication()はTrueに戻ってアップロードできます。Falseに戻るとアップロードできないということです。アップロードできるかどうかは開発者自身の判断が必要です。本文はTrueに簡単に変更します。
    ファイル:ckfinder/config.ascx
    /**
        * This function must check the user session to be sure that he/she is
        * authorized to upload and access files using CKFinder.
    */
    public bool CheckAuthentication()
    {
        // WARNING : DO NOT simply return "true". By doing so, you are allowing
        // "anyone" to upload and list the files in your server. You must implement
        // some kind of session validation here. Even something very simple as...
        //
        // 'return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true );
        //
        // ... where Session[ "IsAuthorized" ] is set to "true" as soon as the
        // user logs on your system.
    
        return false;
    }
    ②Licenseと記憶ディレクトリの変更
    Licenseがないなら、変更しなくても大丈夫です。CKFinderはまだ正常に使えますが、関連ページの中に広告が少しあります。CK Finderのデフォルトのファイル格納ディレクトリは”/ckfinder/userfiles/”であり、プロジェクトのニーズに応じて異なる格納ディレクトリを設定することができます。
    ファイル:ckfinder/config.ascx
    /**
        * All configuration settings must be defined here.
    */
    public override void SetConfig()
    {
        // Paste your license name and key here. If left blank, CKFinder will
        // be fully functional, in Demo Mode.
        LicenseName = "";
        LicenseKey = "";
    
        // The base URL used to reach files in CKFinder through the browser.
        BaseUrl = "/ckfinder/userfiles/";
        ...
    }
    ③「/ckfinder/_samples」と「/ckfinder/_source」の二つのフォルダを削除します。
    「/ckfinder/_samples」と「/ckfinder/_source」の二つのフォルダを削除します。削除しないと「重複した」Asemble Company特性が現れます。
    ④CKFinder引用を追加する
    プロジェクト引用に「/PlugIns/ckfinder/bin/Release/CK Finder.dll」を追加します。

    編集も簡単です。二つのJSファイルを導入し、JavaScriptを使って実用化すればいいです。具体的には以下の通りです。
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
      <title>Editortitle>
      <script type="text/javascript" src="/PlugIns/ckeditor/ckeditor.js">script>
      <script type="text/javascript" src="/PlugIns/ckfinder/ckfinder.js">script>
    head>
    <body>
      <textarea id ="post_content" name="post_content"><p>     p>textarea>
      <script type="text/javascript">
          var editor = CKEDITOR.replace('post_content');          //      
          CKFinder.setupCKEditor(editor, '/PlugIns/ckfinder/');   //       "    "
      script>
    body>
    html>