TinyMCE表控制很大,我怎么能把它显示为菜单?

时间:2012-03-21 09:04:51

标签: jquery tinymce

沃尔克斯,

我得到了一些带有“tablecontrols”的TinyMCE盒子,但是控制器有9个按钮......远远不够。如何将其显示为菜单?

干杯, 斯蒂芬

2 个答案:

答案 0 :(得分:1)

我通过插件找到了解决方案

https://github.com/claviska/tinymce-table-dropdown

答案 1 :(得分:1)

我花了一些时间为你找到解决方案。这可能是claviska如何开发他的table-dropdown-plugin的方式,但它可以用来创建任何带有自己的tinymce命令的下拉列表。

您需要将“my_list”添加到按钮列表中。 可以使用an own plugin创建自己的控件(列表下拉列表)(这并不难写)。在那里使用以下功能

创建列表框
    createControl: function(n, cm) {

        switch (n) {

            case 'my_list':

                listboxIdPart = 'my_list';

                console.log('cm:', cm);

                var ctrl = cm.createListBox(listboxIdPart, {
                  title : 'My list!', //optional
                  onselect : function(v) {

                    switch (v){

                        case '0':
                            tinymce.activeEditor.execCommand('mceTableMergeCells');
                            return;
                        }
                        case '1':
                            tinymce.activeEditor.execCommand('mceTableSplitCells');
                            return;
                        }
                        case '2':
                            tinymce.activeEditor.execCommand('mceTableDeleteCol');
                            return;
                        }
                        case '3':
                            tinymce.activeEditor.execCommand('mceTableDeleteRow');
                            return;
                        }
                        // ... etc ...
                  }
                });

                // add options to the list
                // first param is the string that shows up in the list, second one is the value associated with that option
                ctrl.add('1', '1'); // '1' or whatever name you prefer
                ctrl.add('2', '2');
                ctrl.add('3', '3');
                // ... etc ...

                // Return the new listbox instance
                return ctrl;
        }
        return null;
    },

您将在tiny_mce / plugins / table / editor_src.js第1780行ff下的tinymce developpement版本(未缩小版)中找到所有必需的mceCommands for tables listed in the tinycme docs和附加内容。通过这种方式,您可以影响列表的外观(甚至可以在列表中包含按钮而不是文本元素。)