我一直试图添加自己的菜单,一定是做错了。以下是我到目前为止的一些示例代码中的shell:
tinymce.html - 我托管textarea和init代码的页面:
<!-- /TinyMCE -->
<script type="text/javascript">
tinyMCE.init({
mode: "textareas",
skin: "o2k7",
theme: "advanced",
plugins: "mymenu,fullpage,safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
theme_advanced_buttons1: "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2: "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
theme_advanced_buttons4: "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
toolbar: "mymenu",
theme_advanced_toolbar_location: "top",
theme_advanced_toolbar_align: "left",
theme_advanced_resizing: false,
extended_valid_elements: "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]"
});
</script>
<!-- /TinyMCE -->
<body>
<form method="post">
<textarea name="tinyMceEditor" cols="1" rows="1" style="width:100%; height: 100%"></textarea>
</form>
</body>
你可以看到插件&#39; mymenu&#39;和工具栏&#39; mymenu&#39;是在TinyMCE的初始化。
对于插件,它位于带有editor_plugin.js约定的/ Plugins / mymenu /目录中。我知道它正在加载它,因为如果我向文件引入错误,我会收到警告。
editor_plugin.js:
(function() {
tinymce.create('tinymce.plugins.mymenu', {
init: function (editor, url) {
editor.addButton('mymenu', {
type: 'menubutton',
text: 'My Menu',
icon: false,
menu: [{
text: 'Data Loop',
onclick: function(){
editor.insertContent('{DataLoop}');
}
}, {
text: 'Collector Loop',
onclick: function(){
editor.insertContent('{CollectorLoop}');
}
}]
});
}
});
// Register plugin
tinymce.PluginManager.add('mymenu', tinymce.plugins.PageBreakPlugin);
})();
我认为我的一切都是正确的。但是 - 没有菜单出现。只有4个工具栏按钮,如init代码中的buttons1-4所示。
编辑 :我尝试删除所有高级按钮,将主题更改为简单,以及其他一些选项。仍然无法显示这个简单的菜单:(
答案 0 :(得分:0)
这是一个TinyMCE小提琴,显示了在菜单中实现包含两个项目的整个自定义菜单:
http://fiddle.tinymce.com/JDfaab
您不必创建插件来实现自定义菜单项或工具栏按钮 - 您可以直接在配置对象中执行此操作。如果你真的想要一个插件,你可以采用这个例子并将其移动到你自己的插件。