Плагины TinyMCE не работают в Composite C1 - PullRequest
0 голосов
/ 08 декабря 2011

Я создал новый плагин, так как не смог найти тот, который действительно «работает», надеясь, что если я сделаю это с нуля, он может сработать.

Плагин просто оборачивает выделенный текст ссылкой 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?

1 Ответ

1 голос
/ 12 декабря 2011

1) Composite C1 не поддерживает внутренние кнопки tiny_mce. Добавить кнопку в редактор?В файле Composite \ content \ misc \ editors \ visualeditor \ includes \ toolbarsimple.inc add

    <ui:toolbargroup>
            <ui:toolbarbutton cmd="mceMailTo" tooltip="Mail to" image="${icon:paste}" isdisabled="false" />
    </ui:toolbargroup>

2) Вы пишете действительный код плагина?

(function () {
tinymce.create('tinymce.plugins.MailTo', {
    init: function (ed, url) {
        ed.addCommand('mceMailTo', function () {
            var selectedText = ed.selection.getContent({ format: 'text' });
            var MailToLink = "alert(" + selectedText + ");";
            ed.execCommand('mceInsertContent', false, MailToLink);
        });
    }
});
tinymce.PluginManager.add('mailto', tinymce.plugins.MailTo); })();
...