1

ツールバーのリストボックスである新しいプラグインを作成しています。

このリストボックスでは、選択したテキストのサイズを変更できます。

ここで、エディターのツールバーにリストボックスを追加するための私のコード:

tinymce.create('tinymce.plugins.ListBoxPlugin', {
    createControl: function(n, cm) {
        switch (n) {
            case 'listeStyle':
                var mlb = cm.createListBox('listeStyle', {
                    title : 'Styles',
                    onselect : function(v) {                        
                        tinyMCE.execCommand('mceReplaceContent',false,'<span class='+v+'>{$selection}</span>');
                     }
                });

               <?php               
               foreach($matches[1] as $m){
                    echo "mlb.add('".$m."', '".$m."');";
               }
               ?>               
                return mlb;
        }
        return null;
    }
});
tinymce.PluginManager.add('listBox', tinymce.plugins.ListBoxPlugin);

したがって、リストボックスに要素を追加するには、次の行を使用します。

echo mlb.add('".$m."', '".$m."');

たとえばmlb.add('medium', '15');、リストボックスに「中」という名前の要素があり、クリックすると値「15」が取得されます。

それで、どうすればtinymceを使って、cssでこのリストボックスの要素を表示できますか?たとえば、この要素の場合、サイズ「15」で彼を表示する必要があります。

私が必要なもの:ここに画像の説明を入力

私が持っているもの:ここに画像の説明を入力

わかりますか ?ありがとう :)

編集:このリストボックスを動的に作成します

4

1 に答える 1

2

うーん、これは難しい作業です。最も簡単な方法は、tinymce イベント init にカスタム スタイルを適用するようです。これでブラウザの準備が整いました。

更新:これにより、リストボックスを構築するための何かが得られるはずです。sizes必要に応じてdescription(動的に)微調整する必要があります。

if (mlb) {
    var i =0 ;
    var sizes = [{ fontSize:"5"},{ fontSize:"10"},{ fontSize:"20"}];
    var description = ['Text1','Text2','Text3'];
    each(sizes, function(v, k) {
       var size = v.fontSize;

       if (size >= 1 && size <= 7)
           size = t.sizes[parseInt(size) - 1] + 'pt';

       c.add(y[i], v, {'style' : 'font-size:' + size});
       i++;
    });
}
return mlb;
于 2013-01-30T15:26:21.087 に答える