hypweb.net
XOOPSマニア  最新情報のRSS(サイト全体)
[ 自宅サーバーWebRing |ID=54 前後5表示乱移動サイト一覧 ]

TOP » UsersWiki » nao-pon » blog » 2013-01-21

RSS of nao-pon/blog
2013 1月 21 (月)
 

ckeditor4 Version 0.29 & 0.30 リリース anchor.png

ckeditor4 をアップデートして Version 0.30 としました。

X-update で更新、もしくは、mygithub-download:ckeditor4 からダウンロードできます。

Page Top

更新履歴 anchor.png

  • 85f0ad6: add two delegate points for customizing with preload
    • プリロードで CKEditor をカスタマイズするためのデリゲートを設けました。
    Ckeditor4.Utils.PreBuild_ckconfig (& $params)

    Smarty プラグインから呼ばれた直後、Smarty プラグインパラメータ配列 $params を参照渡しで受け取ります。

    CKEditor.config を ckeditor4 側で組み立てる前にパラメータを調整できます。

    Ckeditor4.Utils.PostBuild_ckconfig (& $config, $params)

    CKEditor.config を ckeditor4 側で管理画面の設定などを元に組み立てたと、第一引数 $config

    を参照渡しで、第二引数 $params を値渡しで受け取ります。

    $config は、CKEditor の config の設定キーが、キーとなった配列です。

    キーを追加したり、特定のキーの値を変更したりできます。

    実際に CKEditor に渡す時に、値が "[" と "]" で囲まれていない場合は、PHP の json_encode() 関数によって

    JSON 形式にエンコードされます。

  • 3d82286: set config.width to parent element width
    • config.width が設定されていない場合に、 TEXTAREA の親要素の幅を config.width に設定するようにした。

      (thx mika)

      ref.

      (www.facebook.com)
  • c363cc1: [template] fix missing style attr
    • XCL 用テンプレートに style 属性を忘れていたのを修正。
  • 64a54c2: Version 0.29
  • 6ec6df1: add more one delegat points for customizing with preload
    Ckeditor4.Utils.PreParseBuild_ckconfig (& $config, $params)

    CKEditor.config を ckeditor4 側で管理画面の設定などを元に組み立てる前に、第一引数 $config
    を参照渡しで、第二引数 $params を値渡しで受け取ります。

    Smarty プラグインで指定した toolbar や管理画面:一般設定の config
    は上書きしません。通常はこのタイミングで問題ありません。

    $config は、CKEditor の config
    の設定キーが、キーとなった配列です。キーを追加したり、特定のキーの値を変更したりできます。

    実際に CKEditor に渡す時に、値が "[" と "]" で囲まれていない場合は、PHP の json_encode() 関数によって
    JSON 形式にエンコードされます。

  • 7f14918: Version 0.30
Page Top

プリロードでの CKEditor の設定変更について anchor.png

Version 0.29 から、プリロードを使って CKEditor.config の設定が行えるようになりました。

これにより、テーマに合わせた CKEditor の config をプリロードと共に配布するなど、様々な用途に使えると思います。

サンプルのプリロードを作ってみました。こんな感じです。

fileCkeditor4CustomConfig.class.php
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php
/**
 * プリロードで ckeditor4 の CKEditor の設定を行うサンプル
 *
 * @author nao-pon
 *
 */
 
if (!defined('XOOPS_ROOT_PATH')) exit();
 
class Ckeditor4CustomConfig extends XCube_ActionFilter
{
    function postFilter() {
        
        // Smarty プラグインがから渡されたパラメタをカスタムする用
        $this->mRoot->mDelegateManager->add('Ckeditor4.Utils.PreBuild_ckconfig', 'Ckeditor4CustomConfig::setParams');
        
        // ckeditor.config をカスタムする用 (Params 解釈前: Smarty プラグインで指定した toolbar や管理画面:一般設定の config は上書きできない)
        $this->mRoot->mDelegateManager->add('Ckeditor4.Utils.PreParseBuild_ckconfig', 'Ckeditor4CustomConfig::setConfig');
        
        // ckeditor.config をカスタムする用 (最終段階: すべての config を上書きできる)
        //$this->mRoot->mDelegateManager->add('Ckeditor4.Utils.PostBuild_ckconfig', 'Ckeditor4CustomConfig::setConfig');
    }
    
    function setParams(& $params) {
        
        // class 名を付加してみる
        $params['class'] .= ' hoge';
        
        // inline style を付加してみる(あんまり意味はないけど)
        $params['style'] .= ';width: 100%;';
        
        // cols, rows を指定してみる(あんまり意味はないけど)
        $params['cols'] = '60';
        $params['rows'] = '30';
        
    }
    
    
    function setConfig(& $config, $params) {
        // CKEditor.config: http://docs.ckeditor.com/#!/api/CKEDITOR.config
        
        if ($params['editor'] === 'bbcode') {
            // BB-Code エディタの場合のツールバーを指定してみる
            $config['toolbar'] =<<< EOD
[
    { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ], items: [ 'Bold', 'Italic', 'Underline', 'Strike' ] },
    { name: 'paragraph', groups: [ 'list', 'indent', 'align' ], items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent' ] },
    { name: 'links', items: [ 'Link', 'Unlink' ] },
    { name: 'others', items: [ '-' ] },
    { name: 'about', items: [ 'About' ] }
]
EOD;
        } else {
            // HTML エディタの場合のツールバーを指定してみる
            $config['toolbar'] =<<< EOD
[
    { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ], items: [ 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', 'Styles' ] },
    { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align' ], items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent' ] },
    { name: 'links', items: [ 'Link', 'Unlink', 'Anchor' ] },
    { name: 'others', items: [ '-' ] },
    { name: 'about', items: [ 'About' ] }
]
EOD;
        
            // Styles set を設定してみる (http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-stylesSet)
            $config['stylesSet'] =<<< EOD
[
    { name: '強調点', element: 'strong' },
    { name: '重要点', element: 'em', styles: {'color' : 'red'} },
    { name: 'バッチ', element: 'span', styles: {'color': '#FFF', 'background-color': '#808000', 'border': '1px solid #bdb76b', 'border-radius': '6px', 'display': 'inline-block', 'padding': '0px 8px 0 8px', 'white-space': 'nowrap', 'textDecoration': 'none', 'font-family': 'Meiryo', 'margin': '5px' } }
]
EOD;
        }
        
        // 幅を指定してみる
        $config['width'] = '600px';
        
        // その他、ckeditor.config の値を自由に指定できます。
    }
}


トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 475, today: 1, yesterday: 0
初版日時: 2013-01-21 (月) 21:12:05
最終更新: 2013-01-21 (月) 22:13:32 (JST) (4074d) by nao-pon
このページのTopへ
メインメニュー
ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録
最近の更新
オンライン状況
161 人のユーザが現在オンラインです。 (4 人のユーザが UsersWiki を参照しています。)

登録ユーザ: 0
ゲスト: 161

もっと...
サイト情報