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');ii 在我的列表框中有一个名为“medium”的元素,当我单击时,我检索值“15”。

那么,我怎么能使用 tinymce 在这个列表框中使用 css 显示元素呢?例如,对于这个元素,我需要以“15”的大小显示他。

我需要的 :在此处输入图像描述

我有的 :在此处输入图像描述

你明白吗 ?谢谢 :)

编辑:我动态创建这个列表框

4

1 回答 1

2

嗯,这是一项艰巨的任务。最简单的方法似乎是在 tinymce 事件 init 上应用自定义样式。然后浏览器就准备好了。

更新:这应该给你一些东西来构建你的列表框。您将需要调整sizesdescription(动态地)满足您的需求:

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 回答