0

我创建了一个新插件,因为我找不到一个真正“有效”的插件,希望如果我从头开始它可能会触发。

该插件只是用 mailto: 链接包装选定的文本。

根据上一个问题的以下回复,我已将插件添加到包含文件中:http: //bit.ly/vGyQlE但是,它不起作用。

我进入了本地化目录,将 Composite.Web.VisualEditor.en-us.xml 标识为处理本地化的文件,在下面添加了我的条目:

<string key="ToolBar.ToolTipMailTo" value="Mail To" />

但是,当我将鼠标悬停在菜单项应该出现的“空白”块上时,它会返回(?)。这是我发现一些奇怪的东西的第一部分。当您实际单击项目应出现的位置时,什么也没有发生。因此,我不能假设单击事件与图像有关,我重新编写了命令以在单击时返回警报:

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 的插件目录下。我已经多次清除缓存,但没有?在Composite中给tiny-mce添加新插件会这么难吗?

4

1 回答 1

1

1) 复合 C1 不支持内部 tiny_mce 按钮您是否将按钮添加到编辑器?在文件 Composite\content\misc\editors\visualeditor\includes\toolbarsimple.inc 添加

    <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); })();
于 2011-12-12T11:52:31.790 回答