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) Composite 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 に答える