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

19年6月27日(Thu) 16時25分
TOP » UsersWiki » nao-pon » blog » 2013-01-21

RSS of nao-pon/blog
Mon 21 Jan 2013
 

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.

      https://hpwb.net/WQVz5D (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 の値を自由に指定できます。
    }
}


Post a new comment

Subject
guestname
Body

Go to richer form

Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 3932, today: 1, yesterday: 0
Princeps date: 2013-01-21 (Mon) 21:12:05
Last-modified: 2013-01-21 (Mon) 22:13:32 (JST) (2347d) by nao-pon
このページのTopへ
ログイン
ユーザ名:

パスワード:

オートログイン

Basic 認証

Register now! | Lost Password?



メインメニュー
UsersWiki メニュー
付箋メニュー
Fusen(Tag) menu 
Tag Editor
Color: BG:
Name:  Connect line ID:
 
ブックマーク
Please log in to use it.
[Login]
サイト内 Wiki
☆ 検索 ☆



高度な検索(サイト内)
FireFox検索プラグイン
オンライン状況
合計 32 人がオンライン中 :-)
(UsersWiki : 9 人)

登録ユーザ: 1 & ゲスト: 31

foundation, もっと...
サイト情報
管理人

nao-pon
 

登録ユーザ数: 4607


Web Services by Yahoo! JAPAN
楽天ウェブサービスセンター
Amazon.co.jpアソシエイト
現在ページのQRコード
現在ページのQRコード
[携帯対応]
参照元情報