2016-12-05 2 views
0

Я пытаюсь добавить свое собственное меню и должен делать что-то неправильно. Вот то, что я до сих пор что очень просто оболочка из некоторого кода примера:TinyMCE Add Menu Issue (with plugin)

tinymce.html - страницы, где я хозяйничать текстовое поле и код инициализации:

<!-- /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> 

Вы можете увидеть плагин ' mymenu 'и панель инструментов mymenu находятся в инициализации TinyMCE.

Для плагина он находится в каталоге/Plugins/mymenu/с помощью соглашения editor_plugin.js. Я знаю, что это загружает его, потому что, если я введу ошибку в файл, я получаю предупреждение.

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 кнопки панели инструментов, как показано кнопками1-4 в коде инициализации.

Редактировать: Я попытался удалить все дополнительные кнопки, меняя тему, чтобы просто, и довольно много других вариантов. Тем не менее не в состоянии получить это простое меню появляться :(

ответ

0

Вот это TinyMCE Скрипка, который показывает реализацию целого пользовательское меню с двумя пунктами меню:

http://fiddle.tinymce.com/JDfaab

Вы не должны создавать плагин для реализации пользовательских пунктов меню или кнопок на панели инструментов - вы можете сделать это непосредственно в своем объекте конфигурации. Если вы действительно хотите использовать плагин, вы можете взять этот пример и перенести его в свой собственный плагин.

+0

Я использовал эту скрипку и поместил ее прямо в часть init файла HTML. Пока не отображается меню :( – Andrew

+0

Можете ли вы мак e TinyMCE скрипка того, что вы делаете? –

+0

Вот что ... У меня нет проблем делать это в CodePen вот так: http://codepen.io/bdogi/pen/KNRaVm. Когда я делаю это в файле HTML, я получаю заглушенное, но большое текстовое поле. Нет меню. – Andrew