Я создал новый плагин, так как не смог найти тот, который действительно «работает», надеясь, что если я сделаю это с нуля, он может сработать.
Плагин просто оборачивает выделенный текст ссылкой mailto:
Я добавил плагин во включаемый файл согласно следующему ответу на предыдущий вопрос: http://bit.ly/vGyQlE однако, он не работает.
Я зашел в каталог локализации, определил Composite.Web.VisualEditor.en-us.xml как файл, который обрабатывает локализацию, добавил мою запись в:
<string key="ToolBar.ToolTipMailTo" value="Mail To" />
Но когда я наведу курсор на «пустой» блок, где должен появиться пункт меню, он вернется (?). Это первая часть, где я подхватил что-то странное. Когда вы на самом деле нажимаете на место, где должен появиться элемент, ничего не происходит. Таким образом, я не могу предположить, что событие click имеет отношение к изображению, я переписал команду для возврата предупреждения при нажатии:
tinymce.create('tinymce.plugins.MailTo', {
init : function(ed, url) {
ed.addButton('mailto', {
title : 'mailto.mailto_desc',
cmd : 'mceMailTo',
image : url + '/images/mailto.gif'
});
ed.addCommand('mceMailTo', function() {
var selectedText = ed.selection.getContent({format : 'text'});
var MailToLink = "alert(" + selectedText + ");";
ed.execCommand('mceInsertContent', false, MailToLink);
});
Я добавил элемент mailTo в visualeditor.js:
plugins : "...,paste,lists,mailto",
И убедитесь, что плагин "mailto" находится в каталоге плагинов для tiny_mce. Я дошел до того, что очистил кэш несколько раз, но ничего? Может ли быть так сложно добавить новые плагины для tiny-mce в Composite?