実際に「機能する」プラグインが見つからなかったため、新しいプラグインを作成しました。最初からプラグインを実行すると、プラグインが起動する可能性があることを期待しています。
プラグインは、選択したテキストを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に新しいプラグインを追加するのはこれほど難しいですか?